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_H_ | 5 #ifndef V8_COMPILER_INSTRUCTION_H_ |
6 #define V8_COMPILER_INSTRUCTION_H_ | 6 #define V8_COMPILER_INSTRUCTION_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <iosfwd> | 9 #include <iosfwd> |
10 #include <map> | 10 #include <map> |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 return FixedRegisterField::decode(value_); | 250 return FixedRegisterField::decode(value_); |
251 } | 251 } |
252 | 252 |
253 // [virtual_register]: The virtual register ID for this operand. | 253 // [virtual_register]: The virtual register ID for this operand. |
254 int virtual_register() const { return VirtualRegisterField::decode(value_); } | 254 int virtual_register() const { return VirtualRegisterField::decode(value_); } |
255 void set_virtual_register(unsigned id) { | 255 void set_virtual_register(unsigned id) { |
256 value_ = VirtualRegisterField::update(value_, id); | 256 value_ = VirtualRegisterField::update(value_, id); |
257 } | 257 } |
258 | 258 |
259 // [lifetime]: Only for non-FIXED_SLOT. | 259 // [lifetime]: Only for non-FIXED_SLOT. |
260 bool IsUsedAtStart() { | 260 bool IsUsedAtStart() const { |
261 DCHECK(basic_policy() == EXTENDED_POLICY); | 261 DCHECK(basic_policy() == EXTENDED_POLICY); |
262 return LifetimeField::decode(value_) == USED_AT_START; | 262 return LifetimeField::decode(value_) == USED_AT_START; |
263 } | 263 } |
264 }; | 264 }; |
265 | 265 |
266 | 266 |
267 class MoveOperands FINAL { | 267 class MoveOperands FINAL { |
268 public: | 268 public: |
269 MoveOperands(InstructionOperand* source, InstructionOperand* destination) | 269 MoveOperands(InstructionOperand* source, InstructionOperand* destination) |
270 : source_(source), destination_(destination) {} | 270 : source_(source), destination_(destination) {} |
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
980 DeoptimizationVector deoptimization_entries_; | 980 DeoptimizationVector deoptimization_entries_; |
981 }; | 981 }; |
982 | 982 |
983 std::ostream& operator<<(std::ostream& os, const InstructionSequence& code); | 983 std::ostream& operator<<(std::ostream& os, const InstructionSequence& code); |
984 | 984 |
985 } // namespace compiler | 985 } // namespace compiler |
986 } // namespace internal | 986 } // namespace internal |
987 } // namespace v8 | 987 } // namespace v8 |
988 | 988 |
989 #endif // V8_COMPILER_INSTRUCTION_H_ | 989 #endif // V8_COMPILER_INSTRUCTION_H_ |
OLD | NEW |