| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_COMPILER_INTERPRETER_ASSEMBLER_H_ | 5 #ifndef V8_COMPILER_INTERPRETER_ASSEMBLER_H_ |
| 6 #define V8_COMPILER_INTERPRETER_ASSEMBLER_H_ | 6 #define V8_COMPILER_INTERPRETER_ASSEMBLER_H_ |
| 7 | 7 |
| 8 // Clients of this interface shouldn't depend on lots of compiler internals. | 8 // Clients of this interface shouldn't depend on lots of compiler internals. |
| 9 // Do not include anything from src/compiler here! | 9 // Do not include anything from src/compiler here! |
| 10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 class InterpreterAssembler { | 34 class InterpreterAssembler { |
| 35 public: | 35 public: |
| 36 InterpreterAssembler(Isolate* isolate, Zone* zone, | 36 InterpreterAssembler(Isolate* isolate, Zone* zone, |
| 37 interpreter::Bytecode bytecode); | 37 interpreter::Bytecode bytecode); |
| 38 virtual ~InterpreterAssembler(); | 38 virtual ~InterpreterAssembler(); |
| 39 | 39 |
| 40 Handle<Code> GenerateCode(); | 40 Handle<Code> GenerateCode(); |
| 41 | 41 |
| 42 // Returns the count immediate for bytecode operand |operand_index| in the | 42 // Returns the count immediate for bytecode operand |operand_index| in the |
| 43 // current bytecode. | 43 // current bytecode. |
| 44 Node* BytecodeOperandCount8(int operand_index); | 44 Node* BytecodeOperandCount(int operand_index); |
| 45 // Returns the index immediate for bytecode operand |operand_index| in the | 45 // Returns the index immediate for bytecode operand |operand_index| in the |
| 46 // current bytecode. | 46 // current bytecode. |
| 47 Node* BytecodeOperandIdx8(int operand_index); | 47 Node* BytecodeOperandIdx(int operand_index); |
| 48 // Returns the Imm8 immediate for bytecode operand |operand_index| in the | 48 // Returns the Imm8 immediate for bytecode operand |operand_index| in the |
| 49 // current bytecode. | 49 // current bytecode. |
| 50 Node* BytecodeOperandImm8(int operand_index); | 50 Node* BytecodeOperandImm(int operand_index); |
| 51 // Returns the register index for bytecode operand |operand_index| in the | 51 // Returns the register index for bytecode operand |operand_index| in the |
| 52 // current bytecode. | 52 // current bytecode. |
| 53 Node* BytecodeOperandReg8(int operand_index); | 53 Node* BytecodeOperandReg(int operand_index); |
| 54 | |
| 55 // Returns the index immediate for the short (16 bit) bytecode operand | |
| 56 // |operand_index| in the current bytecode. | |
| 57 Node* BytecodeOperandIdx16(int operand_index); | |
| 58 | 54 |
| 59 // Accumulator. | 55 // Accumulator. |
| 60 Node* GetAccumulator(); | 56 Node* GetAccumulator(); |
| 61 void SetAccumulator(Node* value); | 57 void SetAccumulator(Node* value); |
| 62 | 58 |
| 63 // Context. | 59 // Context. |
| 64 Node* GetContext(); | 60 Node* GetContext(); |
| 65 void SetContext(Node* value); | 61 void SetContext(Node* value); |
| 66 | 62 |
| 67 // Loads from and stores to the interpreter register file. | 63 // Loads from and stores to the interpreter register file. |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 bool code_generated_; | 207 bool code_generated_; |
| 212 | 208 |
| 213 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); | 209 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); |
| 214 }; | 210 }; |
| 215 | 211 |
| 216 } // namespace compiler | 212 } // namespace compiler |
| 217 } // namespace internal | 213 } // namespace internal |
| 218 } // namespace v8 | 214 } // namespace v8 |
| 219 | 215 |
| 220 #endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_ | 216 #endif // V8_COMPILER_INTERPRETER_ASSEMBLER_H_ |
| OLD | NEW |