| 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); | 
| }; | 
|  |