| Index: src/interpreter/interpreter.h
|
| diff --git a/src/interpreter/interpreter.h b/src/interpreter/interpreter.h
|
| index ea50faa02d882c91bee2cdd2912a2cd6e7486db7..524268e8b8472d22df3adfd43b3668baf055a330 100644
|
| --- a/src/interpreter/interpreter.h
|
| +++ b/src/interpreter/interpreter.h
|
| @@ -53,6 +53,12 @@ class Interpreter {
|
| return reinterpret_cast<Address>(&dispatch_table_[0]);
|
| }
|
|
|
| + uintptr_t* dispatch_counters() { return handlers_dispatch_counters_.get(); }
|
| +
|
| + // Returns true if a handler is generated for a bytecode at a given
|
| + // operand scale.
|
| + static bool BytecodeHasHandler(Bytecode bytecode, OperandScale operand_scale);
|
| +
|
| private:
|
| // Bytecode handler generator functions.
|
| #define DECLARE_BYTECODE_HANDLER_GENERATOR(Name, ...) \
|
| @@ -138,9 +144,12 @@ class Interpreter {
|
|
|
| static const int kNumberOfWideVariants = 3;
|
| static const int kDispatchTableSize = kNumberOfWideVariants * (kMaxUInt8 + 1);
|
| + static const int kCountersTableRowSize =
|
| + static_cast<int>(Bytecode::kLast) + 1;
|
|
|
| Isolate* isolate_;
|
| Code* dispatch_table_[kDispatchTableSize];
|
| + v8::base::SmartArrayPointer<uintptr_t> handlers_dispatch_counters_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Interpreter);
|
| };
|
|
|