OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 // +------------------------------------------+ P ... Policy | 175 // +------------------------------------------+ P ... Policy |
176 // | 176 // |
177 // The slot index is a signed value which requires us to decode it manually | 177 // The slot index is a signed value which requires us to decode it manually |
178 // instead of using the BitField utility class. | 178 // instead of using the BitField utility class. |
179 | 179 |
180 // The superclass has a KindField. | 180 // The superclass has a KindField. |
181 STATIC_ASSERT(kKindFieldWidth == 3); | 181 STATIC_ASSERT(kKindFieldWidth == 3); |
182 | 182 |
183 // BitFields for all unallocated operands. | 183 // BitFields for all unallocated operands. |
184 class BasicPolicyField : public BitField<BasicPolicy, 3, 1> {}; | 184 class BasicPolicyField : public BitField<BasicPolicy, 3, 1> {}; |
185 // TODO(mstarzinger): Bump this from 15 bit to 18 bit in a follow-up CL. | 185 class VirtualRegisterField : public BitField<unsigned, 4, 18> {}; |
186 class VirtualRegisterField : public BitField<unsigned, 4, 15> {}; | |
187 | 186 |
188 // BitFields specific to BasicPolicy::FIXED_SLOT. | 187 // BitFields specific to BasicPolicy::FIXED_SLOT. |
189 class FixedSlotIndexField : public BitField<int, 22, 10> {}; | 188 class FixedSlotIndexField : public BitField<int, 22, 10> {}; |
190 | 189 |
191 // BitFields specific to BasicPolicy::EXTENDED_POLICY. | 190 // BitFields specific to BasicPolicy::EXTENDED_POLICY. |
192 class ExtendedPolicyField : public BitField<ExtendedPolicy, 22, 3> {}; | 191 class ExtendedPolicyField : public BitField<ExtendedPolicy, 22, 3> {}; |
193 class LifetimeField : public BitField<Lifetime, 25, 1> {}; | 192 class LifetimeField : public BitField<Lifetime, 25, 1> {}; |
194 class FixedRegisterField : public BitField<int, 26, 6> {}; | 193 class FixedRegisterField : public BitField<int, 26, 6> {}; |
195 | 194 |
196 static const int kMaxVirtualRegisters = VirtualRegisterField::kMax + 1; | 195 static const int kMaxVirtualRegisters = VirtualRegisterField::kMax + 1; |
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
772 NUMBER_CANDIDATE_IS_SMI, | 771 NUMBER_CANDIDATE_IS_SMI, |
773 NUMBER_CANDIDATE_IS_SMI_OR_HOLE, | 772 NUMBER_CANDIDATE_IS_SMI_OR_HOLE, |
774 NUMBER_CANDIDATE_IS_SMI_CONVERT_HOLE, | 773 NUMBER_CANDIDATE_IS_SMI_CONVERT_HOLE, |
775 NUMBER_CANDIDATE_IS_ANY_TAGGED | 774 NUMBER_CANDIDATE_IS_ANY_TAGGED |
776 }; | 775 }; |
777 | 776 |
778 | 777 |
779 } } // namespace v8::internal | 778 } } // namespace v8::internal |
780 | 779 |
781 #endif // V8_LITHIUM_H_ | 780 #endif // V8_LITHIUM_H_ |
OLD | NEW |