| Index: src/interpreter/interpreter.h
|
| diff --git a/src/interpreter/interpreter.h b/src/interpreter/interpreter.h
|
| index 4dc6241c245f3e710e874c9e094b2f93cb12b207..04c9a8b68487ff52458acf655204dc02f4f182f6 100644
|
| --- a/src/interpreter/interpreter.h
|
| +++ b/src/interpreter/interpreter.h
|
| @@ -23,7 +23,6 @@ class Isolate;
|
| class Callable;
|
| class CompilationInfo;
|
| class CompilationJob;
|
| -class SetupIsolateDelegate;
|
|
|
| namespace interpreter {
|
|
|
| @@ -34,6 +33,9 @@ class Interpreter {
|
| explicit Interpreter(Isolate* isolate);
|
| virtual ~Interpreter() {}
|
|
|
| + // Initializes the interpreter dispatch table.
|
| + void Initialize();
|
| +
|
| // Returns the interrupt budget which should be used for the profiler counter.
|
| static int InterruptBudget();
|
|
|
| @@ -63,8 +65,14 @@ class Interpreter {
|
| static const int kCodeSizeMultiplier = 24;
|
|
|
| private:
|
| - friend class SetupInterpreter;
|
| - friend class v8::internal::SetupIsolateDelegate;
|
| + // In the case of bytecodes that share handler implementations, copy the code
|
| + // into the bytecode's dispatcher table entry and return true.
|
| + bool ReuseExistingHandler(Bytecode bytecode, OperandScale operand_scale);
|
| +
|
| + // Generates handler for given |bytecode| and |operand_scale|
|
| + // and installs it into the dispatch table.
|
| + void InstallBytecodeHandler(Isolate* isolate, Bytecode bytecode,
|
| + OperandScale operand_scale);
|
|
|
| uintptr_t GetDispatchCounter(Bytecode from, Bytecode to) const;
|
|
|
| @@ -73,6 +81,7 @@ class Interpreter {
|
| OperandScale operand_scale);
|
|
|
| bool IsDispatchTableInitialized();
|
| + bool ShouldInitializeDispatchTable();
|
|
|
| static const int kNumberOfWideVariants = 3;
|
| static const int kDispatchTableSize = kNumberOfWideVariants * (kMaxUInt8 + 1);
|
|
|