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)); | |
217 case IrOpcode::kFloat64Constant: | 214 case IrOpcode::kFloat64Constant: |
218 case IrOpcode::kNumberConstant: | 215 case IrOpcode::kNumberConstant: |
219 return Constant(OpParameter<double>(node)); | 216 return Constant(OpParameter<double>(node)); |
220 case IrOpcode::kExternalConstant: | 217 case IrOpcode::kExternalConstant: |
221 return Constant(OpParameter<ExternalReference>(node)); | 218 return Constant(OpParameter<ExternalReference>(node)); |
222 case IrOpcode::kHeapConstant: | 219 case IrOpcode::kHeapConstant: |
223 return Constant(OpParameter<Handle<HeapObject>>(node)); | 220 return Constant(OpParameter<Handle<HeapObject>>(node)); |
224 default: | 221 default: |
225 break; | 222 break; |
226 } | 223 } |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 // or mode_ == kFlags_set. | 379 // or mode_ == kFlags_set. |
383 BasicBlock* true_block_; // Only valid if mode_ == kFlags_branch. | 380 BasicBlock* true_block_; // Only valid if mode_ == kFlags_branch. |
384 BasicBlock* false_block_; // Only valid if mode_ == kFlags_branch. | 381 BasicBlock* false_block_; // Only valid if mode_ == kFlags_branch. |
385 }; | 382 }; |
386 | 383 |
387 } // namespace compiler | 384 } // namespace compiler |
388 } // namespace internal | 385 } // namespace internal |
389 } // namespace v8 | 386 } // namespace v8 |
390 | 387 |
391 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ | 388 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ |
OLD | NEW |