| Index: src/interpreter/interpreter.h
|
| diff --git a/src/interpreter/interpreter.h b/src/interpreter/interpreter.h
|
| index 42b9bd7f9e8f9b8d5168003633347a0cf7d5af7e..b77a4ff8c5847474674535fa5ef60697f9ce8c2e 100644
|
| --- a/src/interpreter/interpreter.h
|
| +++ b/src/interpreter/interpreter.h
|
| @@ -40,7 +40,7 @@ class Interpreter {
|
| static bool MakeBytecode(CompilationInfo* info);
|
|
|
| // Return bytecode handler for |bytecode|.
|
| - Code* GetBytecodeHandler(Bytecode bytecode);
|
| + Code* GetBytecodeHandler(Bytecode bytecode, int operand_scale);
|
|
|
| // GC support.
|
| void IterateDispatchTable(ObjectVisitor* v);
|
| @@ -128,9 +128,13 @@ class Interpreter {
|
| void DoStoreLookupSlot(LanguageMode language_mode,
|
| InterpreterAssembler* assembler);
|
|
|
| + // Get dispatch table index of bytecode.
|
| + size_t GetDispatchTableIndex(Bytecode bytecode, uint32_t operand_size_log2);
|
| +
|
| bool IsDispatchTableInitialized();
|
|
|
| - static const int kDispatchTableSize = static_cast<int>(Bytecode::kLast) + 1;
|
| + static const int kNumberOfWideVariants = 3;
|
| + static const int kDispatchTableSize = kNumberOfWideVariants * (kMaxUInt8 + 1);
|
|
|
| Isolate* isolate_;
|
| Code* dispatch_table_[kDispatchTableSize];
|
|
|