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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 } else { | 136 } else { |
137 return ExplicitOperand(LocationOperand::STACK_SLOT, rep, | 137 return ExplicitOperand(LocationOperand::STACK_SLOT, rep, |
138 location.GetLocation()); | 138 location.GetLocation()); |
139 } | 139 } |
140 } | 140 } |
141 | 141 |
142 InstructionOperand UseImmediate(Node* node) { | 142 InstructionOperand UseImmediate(Node* node) { |
143 return sequence()->AddImmediate(ToConstant(node)); | 143 return sequence()->AddImmediate(ToConstant(node)); |
144 } | 144 } |
145 | 145 |
| 146 InstructionOperand UseImmediate(int immediate) { |
| 147 return sequence()->AddImmediate(Constant(immediate)); |
| 148 } |
| 149 |
146 InstructionOperand UseLocation(Node* node, LinkageLocation location) { | 150 InstructionOperand UseLocation(Node* node, LinkageLocation location) { |
147 return Use(node, ToUnallocatedOperand(location, GetVReg(node))); | 151 return Use(node, ToUnallocatedOperand(location, GetVReg(node))); |
148 } | 152 } |
149 | 153 |
150 // Used to force gap moves from the from_location to the to_location | 154 // Used to force gap moves from the from_location to the to_location |
151 // immediately before an instruction. | 155 // immediately before an instruction. |
152 InstructionOperand UsePointerLocation(LinkageLocation to_location, | 156 InstructionOperand UsePointerLocation(LinkageLocation to_location, |
153 LinkageLocation from_location) { | 157 LinkageLocation from_location) { |
154 UnallocatedOperand casted_from_operand = | 158 UnallocatedOperand casted_from_operand = |
155 UnallocatedOperand::cast(TempLocation(from_location)); | 159 UnallocatedOperand::cast(TempLocation(from_location)); |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 // or mode_ == kFlags_set. | 384 // or mode_ == kFlags_set. |
381 BasicBlock* true_block_; // Only valid if mode_ == kFlags_branch. | 385 BasicBlock* true_block_; // Only valid if mode_ == kFlags_branch. |
382 BasicBlock* false_block_; // Only valid if mode_ == kFlags_branch. | 386 BasicBlock* false_block_; // Only valid if mode_ == kFlags_branch. |
383 }; | 387 }; |
384 | 388 |
385 } // namespace compiler | 389 } // namespace compiler |
386 } // namespace internal | 390 } // namespace internal |
387 } // namespace v8 | 391 } // namespace v8 |
388 | 392 |
389 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ | 393 #endif // V8_COMPILER_INSTRUCTION_SELECTOR_IMPL_H_ |
OLD | NEW |