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/interpreter/interpreter-assembler.h" | 5 #include "src/interpreter/interpreter-assembler.h" |
6 | 6 |
7 #include <ostream> | 7 #include <ostream> |
8 | 8 |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
11 #include "src/interface-descriptors.h" | 11 #include "src/interface-descriptors.h" |
12 #include "src/interpreter/bytecodes.h" | 12 #include "src/interpreter/bytecodes.h" |
13 #include "src/interpreter/interpreter.h" | 13 #include "src/interpreter/interpreter.h" |
14 #include "src/machine-type.h" | 14 #include "src/machine-type.h" |
15 #include "src/macro-assembler.h" | 15 #include "src/macro-assembler.h" |
16 #include "src/zone.h" | 16 #include "src/zone.h" |
17 | 17 |
18 namespace v8 { | 18 namespace v8 { |
19 namespace internal { | 19 namespace internal { |
20 namespace interpreter { | 20 namespace interpreter { |
21 | 21 |
22 using compiler::Node; | 22 using compiler::Node; |
23 | 23 |
24 InterpreterAssembler::InterpreterAssembler(Isolate* isolate, Zone* zone, | 24 InterpreterAssembler::InterpreterAssembler(Isolate* isolate, Zone* zone, |
25 Bytecode bytecode) | 25 Bytecode bytecode) |
26 : compiler::CodeStubAssembler( | 26 : compiler::CodeStubAssembler(isolate, zone, |
27 isolate, zone, InterpreterDispatchDescriptor(isolate), | 27 InterpreterDispatchDescriptor(isolate), |
28 Code::ComputeFlags(Code::STUB), Bytecodes::ToString(bytecode), 0), | 28 Code::ComputeFlags(Code::BYTECODE_HANDLER), |
| 29 Bytecodes::ToString(bytecode), 0), |
29 bytecode_(bytecode), | 30 bytecode_(bytecode), |
30 accumulator_(this, MachineRepresentation::kTagged), | 31 accumulator_(this, MachineRepresentation::kTagged), |
31 context_(this, MachineRepresentation::kTagged), | 32 context_(this, MachineRepresentation::kTagged), |
32 bytecode_array_(this, MachineRepresentation::kTagged), | 33 bytecode_array_(this, MachineRepresentation::kTagged), |
33 disable_stack_check_across_call_(false), | 34 disable_stack_check_across_call_(false), |
34 stack_pointer_before_call_(nullptr) { | 35 stack_pointer_before_call_(nullptr) { |
35 accumulator_.Bind( | 36 accumulator_.Bind( |
36 Parameter(InterpreterDispatchDescriptor::kAccumulatorParameter)); | 37 Parameter(InterpreterDispatchDescriptor::kAccumulatorParameter)); |
37 context_.Bind(Parameter(InterpreterDispatchDescriptor::kContextParameter)); | 38 context_.Bind(Parameter(InterpreterDispatchDescriptor::kContextParameter)); |
38 bytecode_array_.Bind( | 39 bytecode_array_.Bind( |
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 #elif V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_X87 | 534 #elif V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_X87 |
534 return true; | 535 return true; |
535 #else | 536 #else |
536 #error "Unknown Architecture" | 537 #error "Unknown Architecture" |
537 #endif | 538 #endif |
538 } | 539 } |
539 | 540 |
540 } // namespace interpreter | 541 } // namespace interpreter |
541 } // namespace internal | 542 } // namespace internal |
542 } // namespace v8 | 543 } // namespace v8 |
OLD | NEW |