Index: src/interpreter/interpreter.h |
diff --git a/src/interpreter/interpreter.h b/src/interpreter/interpreter.h |
index 3a92df40378ea0fe22f511a75e76152265699dff..6ece88132f2810685ca9ae5afa395675a2487dac 100644 |
--- a/src/interpreter/interpreter.h |
+++ b/src/interpreter/interpreter.h |
@@ -24,10 +24,6 @@ class Callable; |
class CompilationInfo; |
class CompilationJob; |
-namespace compiler { |
-class Node; |
-} // namespace compiler |
- |
namespace interpreter { |
class InterpreterAssembler; |
@@ -53,7 +49,6 @@ class Interpreter { |
void IterateDispatchTable(ObjectVisitor* v); |
// Disassembler support (only useful with ENABLE_DISASSEMBLER defined). |
- void TraceCodegen(Handle<Code> code); |
const char* LookupNameOfBytecodeHandler(Code* code); |
V8_EXPORT_PRIVATE Local<v8::Object> GetDispatchCountersObject(); |
@@ -70,112 +65,14 @@ class Interpreter { |
static const int kCodeSizeMultiplier = 32; |
private: |
-// Bytecode handler generator functions. |
-#define DECLARE_BYTECODE_HANDLER_GENERATOR(Name, ...) \ |
- void Do##Name(InterpreterAssembler* assembler); |
- BYTECODE_LIST(DECLARE_BYTECODE_HANDLER_GENERATOR) |
-#undef DECLARE_BYTECODE_HANDLER_GENERATOR |
- |
- typedef void (Interpreter::*BytecodeGeneratorFunc)(InterpreterAssembler*); |
- |
// 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| using |
- // |generator| and installs it into the dispatch table. |
- void InstallBytecodeHandler(Zone* zone, Bytecode bytecode, |
- OperandScale operand_scale, |
- BytecodeGeneratorFunc generator); |
- |
- // Generates code to perform the binary operation via |Generator|. |
- template <class Generator> |
- void DoBinaryOpWithFeedback(InterpreterAssembler* assembler); |
- |
- // Generates code to perform the comparison via |Generator| while gathering |
- // type feedback. |
- void DoCompareOpWithFeedback(Token::Value compare_op, |
- InterpreterAssembler* assembler); |
- |
- // Generates code to perform the bitwise binary operation corresponding to |
- // |bitwise_op| while gathering type feedback. |
- void DoBitwiseBinaryOp(Token::Value bitwise_op, |
- InterpreterAssembler* assembler); |
- |
- // Generates code to perform the binary operation via |Generator| using |
- // an immediate value rather the accumulator as the rhs operand. |
- template <class Generator> |
- void DoBinaryOpWithImmediate(InterpreterAssembler* assembler); |
- |
- // Generates code to perform the unary operation via |Generator| while |
- // gatering type feedback. |
- template <class Generator> |
- void DoUnaryOpWithFeedback(InterpreterAssembler* assembler); |
- |
- // Generates code to perform the comparison operation associated with |
- // |compare_op|. |
- void DoCompareOp(Token::Value compare_op, InterpreterAssembler* assembler); |
- |
- // Generates code to perform a global store via |ic|. |
- void DoStaGlobal(Callable ic, InterpreterAssembler* assembler); |
- |
- // Generates code to perform a named property store via |ic|. |
- void DoStoreIC(Callable ic, InterpreterAssembler* assembler); |
- |
- // Generates code to perform a keyed property store via |ic|. |
- void DoKeyedStoreIC(Callable ic, InterpreterAssembler* assembler); |
- |
- // Generates code to perform a JS call that collects type feedback. |
- void DoJSCall(InterpreterAssembler* assembler, TailCallMode tail_call_mode); |
- |
- // Generates code to perform a JS call with a known number of arguments that |
- // collects type feedback. |
- void DoJSCallN(InterpreterAssembler* assembler, int n); |
- |
- // Generates code to perform delete via function_id. |
- void DoDelete(Runtime::FunctionId function_id, |
- InterpreterAssembler* assembler); |
- |
- // Generates code to perform a lookup slot load via |function_id|. |
- void DoLdaLookupSlot(Runtime::FunctionId function_id, |
- InterpreterAssembler* assembler); |
- |
- // Generates code to perform a lookup slot load via |function_id| that can |
- // fast path to a context slot load. |
- void DoLdaLookupContextSlot(Runtime::FunctionId function_id, |
- InterpreterAssembler* assembler); |
- |
- // Generates code to perform a lookup slot load via |function_id| that can |
- // fast path to a global load. |
- void DoLdaLookupGlobalSlot(Runtime::FunctionId function_id, |
- InterpreterAssembler* assembler); |
- |
- // Generates code to perform a lookup slot store depending on |
- // |language_mode|. |
- void DoStaLookupSlot(LanguageMode language_mode, |
- InterpreterAssembler* assembler); |
- |
- // Generates code to load a global property. |
- void BuildLoadGlobalIC(int slot_operand_index, int name_operand_index, |
- TypeofMode typeof_mode, |
- InterpreterAssembler* assembler); |
- |
- // Generates code to load a property. |
- void BuildLoadIC(int recv_operand_index, int slot_operand_index, |
- int name_operand_index, InterpreterAssembler* assembler); |
- |
- // Generates code to prepare the result for ForInPrepare. Cache data |
- // are placed into the consecutive series of registers starting at |
- // |output_register|. |
- void BuildForInPrepareResult(compiler::Node* output_register, |
- compiler::Node* cache_type, |
- compiler::Node* cache_array, |
- compiler::Node* cache_length, |
- InterpreterAssembler* assembler); |
- |
- // Generates code to perform the unary operation via |callable|. |
- compiler::Node* BuildUnaryOp(Callable callable, |
- InterpreterAssembler* assembler); |
+ // 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; |