OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/code-factory.h" | 5 #include "src/code-factory.h" |
6 #include "src/compiler/pipeline.h" | 6 #include "src/compiler/pipeline.h" |
7 #include "src/compiler/raw-machine-assembler.h" | 7 #include "src/compiler/raw-machine-assembler.h" |
8 #include "src/compiler/scheduler.h" | 8 #include "src/compiler/scheduler.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 Node* stub_code = HeapConstant(callable.code()); | 92 Node* stub_code = HeapConstant(callable.code()); |
93 Node* call = graph()->NewNode(common()->Call(desc), stub_code, function, | 93 Node* call = graph()->NewNode(common()->Call(desc), stub_code, function, |
94 receiver, context, frame_state); | 94 receiver, context, frame_state); |
95 schedule()->AddNode(CurrentBlock(), call); | 95 schedule()->AddNode(CurrentBlock(), call); |
96 return call; | 96 return call; |
97 } | 97 } |
98 | 98 |
99 | 99 |
100 Node* RawMachineAssembler::CallJS0(Node* function, Node* receiver, | 100 Node* RawMachineAssembler::CallJS0(Node* function, Node* receiver, |
101 Node* context, Node* frame_state) { | 101 Node* context, Node* frame_state) { |
102 CallDescriptor* descriptor = Linkage::GetJSCallDescriptor(1, zone()); | 102 CallDescriptor* descriptor = |
| 103 Linkage::GetJSCallDescriptor(1, zone(), CallDescriptor::kNeedsFrameState); |
103 Node* call = graph()->NewNode(common()->Call(descriptor), function, receiver, | 104 Node* call = graph()->NewNode(common()->Call(descriptor), function, receiver, |
104 context, frame_state); | 105 context, frame_state); |
105 schedule()->AddNode(CurrentBlock(), call); | 106 schedule()->AddNode(CurrentBlock(), call); |
106 return call; | 107 return call; |
107 } | 108 } |
108 | 109 |
109 | 110 |
110 Node* RawMachineAssembler::CallRuntime1(Runtime::FunctionId function, | 111 Node* RawMachineAssembler::CallRuntime1(Runtime::FunctionId function, |
111 Node* arg0, Node* context, | 112 Node* arg0, Node* context, |
112 Node* frame_state) { | 113 Node* frame_state) { |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 Node* node = graph()->NewNode(op, input_count, inputs, incomplete); | 159 Node* node = graph()->NewNode(op, input_count, inputs, incomplete); |
159 BasicBlock* block = op->opcode() == IrOpcode::kParameter ? schedule()->start() | 160 BasicBlock* block = op->opcode() == IrOpcode::kParameter ? schedule()->start() |
160 : CurrentBlock(); | 161 : CurrentBlock(); |
161 schedule()->AddNode(block, node); | 162 schedule()->AddNode(block, node); |
162 return node; | 163 return node; |
163 } | 164 } |
164 | 165 |
165 } // namespace compiler | 166 } // namespace compiler |
166 } // namespace internal | 167 } // namespace internal |
167 } // namespace v8 | 168 } // namespace v8 |
OLD | NEW |