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