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_INTERPRETER_INTERPRETER_H_ | 5 #ifndef V8_INTERPRETER_INTERPRETER_H_ |
6 #define V8_INTERPRETER_INTERPRETER_H_ | 6 #define V8_INTERPRETER_INTERPRETER_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 // Clients of this interface shouldn't depend on lots of interpreter internals. | 10 // Clients of this interface shouldn't depend on lots of interpreter internals. |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 compiler::Node* BuildLoadContextSlot(InterpreterAssembler* assembler); | 143 compiler::Node* BuildLoadContextSlot(InterpreterAssembler* assembler); |
144 | 144 |
145 // Generates code to load a slot in the current context. | 145 // Generates code to load a slot in the current context. |
146 compiler::Node* BuildLoadCurrentContextSlot(InterpreterAssembler* assembler); | 146 compiler::Node* BuildLoadCurrentContextSlot(InterpreterAssembler* assembler); |
147 | 147 |
148 // Generates code to load a global. | 148 // Generates code to load a global. |
149 compiler::Node* BuildLoadGlobal(Callable ic, compiler::Node* context, | 149 compiler::Node* BuildLoadGlobal(Callable ic, compiler::Node* context, |
150 compiler::Node* feedback_slot, | 150 compiler::Node* feedback_slot, |
151 InterpreterAssembler* assembler); | 151 InterpreterAssembler* assembler); |
152 | 152 |
153 // Generates code to load a named property. | |
154 compiler::Node* BuildLoadNamedProperty(Callable ic, | |
155 InterpreterAssembler* assembler); | |
156 | |
157 // Generates code to load a keyed property. | |
158 compiler::Node* BuildLoadKeyedProperty(Callable ic, | |
159 InterpreterAssembler* assembler); | |
160 | |
161 // Generates code to prepare the result for ForInPrepare. Cache data | 153 // Generates code to prepare the result for ForInPrepare. Cache data |
162 // are placed into the consecutive series of registers starting at | 154 // are placed into the consecutive series of registers starting at |
163 // |output_register|. | 155 // |output_register|. |
164 void BuildForInPrepareResult(compiler::Node* output_register, | 156 void BuildForInPrepareResult(compiler::Node* output_register, |
165 compiler::Node* cache_type, | 157 compiler::Node* cache_type, |
166 compiler::Node* cache_array, | 158 compiler::Node* cache_array, |
167 compiler::Node* cache_length, | 159 compiler::Node* cache_length, |
168 InterpreterAssembler* assembler); | 160 InterpreterAssembler* assembler); |
169 | 161 |
170 // Generates code to perform the unary operation via |callable|. | 162 // Generates code to perform the unary operation via |callable|. |
(...skipping 18 matching lines...) Expand all Loading... |
189 std::unique_ptr<uintptr_t[]> bytecode_dispatch_counters_table_; | 181 std::unique_ptr<uintptr_t[]> bytecode_dispatch_counters_table_; |
190 | 182 |
191 DISALLOW_COPY_AND_ASSIGN(Interpreter); | 183 DISALLOW_COPY_AND_ASSIGN(Interpreter); |
192 }; | 184 }; |
193 | 185 |
194 } // namespace interpreter | 186 } // namespace interpreter |
195 } // namespace internal | 187 } // namespace internal |
196 } // namespace v8 | 188 } // namespace v8 |
197 | 189 |
198 #endif // V8_INTERPRETER_INTERPRETER_H_ | 190 #endif // V8_INTERPRETER_INTERPRETER_H_ |
OLD | NEW |