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_REGISTER_ALLOCATOR_VERIFIER_H_ | 5 #ifndef V8_REGISTER_ALLOCATOR_VERIFIER_H_ |
6 #define V8_REGISTER_ALLOCATOR_VERIFIER_H_ | 6 #define V8_REGISTER_ALLOCATOR_VERIFIER_H_ |
7 | 7 |
8 #include "src/zone-containers.h" | 8 #include "src/zone-containers.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 18 matching lines...) Expand all Loading... |
29 kRegister, | 29 kRegister, |
30 kFixedRegister, | 30 kFixedRegister, |
31 kDoubleRegister, | 31 kDoubleRegister, |
32 kFixedDoubleRegister, | 32 kFixedDoubleRegister, |
33 kSlot, | 33 kSlot, |
34 kDoubleSlot, | 34 kDoubleSlot, |
35 kFixedSlot, | 35 kFixedSlot, |
36 kNone, | 36 kNone, |
37 kNoneDouble, | 37 kNoneDouble, |
38 kExplicit, | 38 kExplicit, |
39 kSameAsFirst | 39 kSameAsFirst, |
| 40 kRegisterAndSlot |
40 }; | 41 }; |
41 | 42 |
42 struct OperandConstraint { | 43 struct OperandConstraint { |
43 ConstraintType type_; | 44 ConstraintType type_; |
44 int value_; // subkind index when relevant | 45 int value_; // subkind index when relevant |
| 46 int spilled_slot_; |
45 int virtual_register_; | 47 int virtual_register_; |
46 }; | 48 }; |
47 | 49 |
48 struct InstructionConstraint { | 50 struct InstructionConstraint { |
49 const Instruction* instruction_; | 51 const Instruction* instruction_; |
50 size_t operand_constaints_size_; | 52 size_t operand_constaints_size_; |
51 OperandConstraint* operand_constraints_; | 53 OperandConstraint* operand_constraints_; |
52 }; | 54 }; |
53 | 55 |
54 class BlockMaps; | 56 class BlockMaps; |
(...skipping 22 matching lines...) Expand all Loading... |
77 Constraints constraints_; | 79 Constraints constraints_; |
78 | 80 |
79 DISALLOW_COPY_AND_ASSIGN(RegisterAllocatorVerifier); | 81 DISALLOW_COPY_AND_ASSIGN(RegisterAllocatorVerifier); |
80 }; | 82 }; |
81 | 83 |
82 } // namespace compiler | 84 } // namespace compiler |
83 } // namespace internal | 85 } // namespace internal |
84 } // namespace v8 | 86 } // namespace v8 |
85 | 87 |
86 #endif | 88 #endif |
OLD | NEW |