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 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ | 5 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ |
6 #define V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ | 6 #define V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ |
7 | 7 |
8 #include "src/compiler/instruction.h" | 8 #include "src/compiler/instruction.h" |
9 #include "src/compiler/instruction-selector.h" | 9 #include "src/compiler/instruction-selector.h" |
10 #include "src/compiler/linkage.h" | 10 #include "src/compiler/linkage.h" |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 int GetVReg(Node* node) const { return selector_->GetVirtualRegister(node); } | 204 int GetVReg(Node* node) const { return selector_->GetVirtualRegister(node); } |
205 | 205 |
206 static Constant ToConstant(const Node* node) { | 206 static Constant ToConstant(const Node* node) { |
207 switch (node->opcode()) { | 207 switch (node->opcode()) { |
208 case IrOpcode::kInt32Constant: | 208 case IrOpcode::kInt32Constant: |
209 return Constant(OpParameter<int32_t>(node)); | 209 return Constant(OpParameter<int32_t>(node)); |
210 case IrOpcode::kInt64Constant: | 210 case IrOpcode::kInt64Constant: |
211 return Constant(OpParameter<int64_t>(node)); | 211 return Constant(OpParameter<int64_t>(node)); |
212 case IrOpcode::kFloat32Constant: | 212 case IrOpcode::kFloat32Constant: |
213 return Constant(OpParameter<float>(node)); | 213 return Constant(OpParameter<float>(node)); |
| 214 case IrOpcode::kRelocatableInt32Constant: |
| 215 case IrOpcode::kRelocatableInt64Constant: |
| 216 return Constant(OpParameter<RelocatablePtrConstantInfo>(node)); |
214 case IrOpcode::kFloat64Constant: | 217 case IrOpcode::kFloat64Constant: |
215 case IrOpcode::kNumberConstant: | 218 case IrOpcode::kNumberConstant: |
216 return Constant(OpParameter<double>(node)); | 219 return Constant(OpParameter<double>(node)); |
217 case IrOpcode::kExternalConstant: | 220 case IrOpcode::kExternalConstant: |
218 return Constant(OpParameter<ExternalReference>(node)); | 221 return Constant(OpParameter<ExternalReference>(node)); |
219 case IrOpcode::kHeapConstant: | 222 case IrOpcode::kHeapConstant: |
220 return Constant(OpParameter<Handle<HeapObject>>(node)); | 223 return Constant(OpParameter<Handle<HeapObject>>(node)); |
221 default: | 224 default: |
222 break; | 225 break; |
223 } | 226 } |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
379 // or mode_ == kFlags_set. | 382 // or mode_ == kFlags_set. |
380 BasicBlock* true_block_; // Only valid if mode_ == kFlags_branch. | 383 BasicBlock* true_block_; // Only valid if mode_ == kFlags_branch. |
381 BasicBlock* false_block_; // Only valid if mode_ == kFlags_branch. | 384 BasicBlock* false_block_; // Only valid if mode_ == kFlags_branch. |
382 }; | 385 }; |
383 | 386 |
384 } // namespace compiler | 387 } // namespace compiler |
385 } // namespace internal | 388 } // namespace internal |
386 } // namespace v8 | 389 } // namespace v8 |
387 | 390 |
388 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ | 391 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ |
OLD | NEW |