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 #include "src/compiler/interpreter-assembler.h" | 5 #include "src/compiler/interpreter-assembler.h" |
6 | 6 |
7 #include <ostream> | 7 #include <ostream> |
8 | 8 |
9 #include "src/compiler/graph.h" | 9 #include "src/compiler/graph.h" |
10 #include "src/compiler/instruction-selector.h" | 10 #include "src/compiler/instruction-selector.h" |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 Node* InterpreterAssembler::IntPtrConstant(intptr_t value) { | 162 Node* InterpreterAssembler::IntPtrConstant(intptr_t value) { |
163 return raw_assembler_->IntPtrConstant(value); | 163 return raw_assembler_->IntPtrConstant(value); |
164 } | 164 } |
165 | 165 |
166 | 166 |
167 Node* InterpreterAssembler::NumberConstant(double value) { | 167 Node* InterpreterAssembler::NumberConstant(double value) { |
168 return raw_assembler_->NumberConstant(value); | 168 return raw_assembler_->NumberConstant(value); |
169 } | 169 } |
170 | 170 |
171 | 171 |
172 Node* InterpreterAssembler::HeapConstant(Unique<HeapObject> object) { | 172 Node* InterpreterAssembler::HeapConstant(Handle<HeapObject> object) { |
173 return raw_assembler_->HeapConstant(object); | 173 return raw_assembler_->HeapConstant(object); |
174 } | 174 } |
175 | 175 |
176 | 176 |
177 Node* InterpreterAssembler::SmiShiftBitsConstant() { | 177 Node* InterpreterAssembler::SmiShiftBitsConstant() { |
178 return Int32Constant(kSmiShiftSize + kSmiTagSize); | 178 return Int32Constant(kSmiShiftSize + kSmiTagSize); |
179 } | 179 } |
180 | 180 |
181 | 181 |
182 Node* InterpreterAssembler::SmiTag(Node* value) { | 182 Node* InterpreterAssembler::SmiTag(Node* value) { |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 | 234 |
235 | 235 |
236 Node* InterpreterAssembler::CallJSBuiltin(int context_index, Node* receiver, | 236 Node* InterpreterAssembler::CallJSBuiltin(int context_index, Node* receiver, |
237 Node* arg1) { | 237 Node* arg1) { |
238 return CallJSBuiltin(context_index, receiver, &arg1, 1); | 238 return CallJSBuiltin(context_index, receiver, &arg1, 1); |
239 } | 239 } |
240 | 240 |
241 | 241 |
242 void InterpreterAssembler::Return() { | 242 void InterpreterAssembler::Return() { |
243 Node* exit_trampoline_code_object = | 243 Node* exit_trampoline_code_object = |
244 HeapConstant(Unique<HeapObject>::CreateImmovable( | 244 HeapConstant(isolate()->builtins()->InterpreterExitTrampoline()); |
245 isolate()->builtins()->InterpreterExitTrampoline())); | |
246 // If the order of the parameters you need to change the call signature below. | 245 // If the order of the parameters you need to change the call signature below. |
247 STATIC_ASSERT(0 == Linkage::kInterpreterAccumulatorParameter); | 246 STATIC_ASSERT(0 == Linkage::kInterpreterAccumulatorParameter); |
248 STATIC_ASSERT(1 == Linkage::kInterpreterRegisterFileParameter); | 247 STATIC_ASSERT(1 == Linkage::kInterpreterRegisterFileParameter); |
249 STATIC_ASSERT(2 == Linkage::kInterpreterBytecodeOffsetParameter); | 248 STATIC_ASSERT(2 == Linkage::kInterpreterBytecodeOffsetParameter); |
250 STATIC_ASSERT(3 == Linkage::kInterpreterBytecodeArrayParameter); | 249 STATIC_ASSERT(3 == Linkage::kInterpreterBytecodeArrayParameter); |
251 STATIC_ASSERT(4 == Linkage::kInterpreterDispatchTableParameter); | 250 STATIC_ASSERT(4 == Linkage::kInterpreterDispatchTableParameter); |
252 STATIC_ASSERT(5 == Linkage::kInterpreterContextParameter); | 251 STATIC_ASSERT(5 == Linkage::kInterpreterContextParameter); |
253 Node* args[] = { GetAccumulator(), | 252 Node* args[] = { GetAccumulator(), |
254 RegisterFileRawPointer(), | 253 RegisterFileRawPointer(), |
255 BytecodeOffset(), | 254 BytecodeOffset(), |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 return raw_assembler_->schedule(); | 329 return raw_assembler_->schedule(); |
331 } | 330 } |
332 | 331 |
333 | 332 |
334 Zone* InterpreterAssembler::zone() { return raw_assembler_->zone(); } | 333 Zone* InterpreterAssembler::zone() { return raw_assembler_->zone(); } |
335 | 334 |
336 | 335 |
337 } // namespace interpreter | 336 } // namespace interpreter |
338 } // namespace internal | 337 } // namespace internal |
339 } // namespace v8 | 338 } // namespace v8 |
OLD | NEW |