Chromium Code Reviews| 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 5141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5152 // [major_key]: For kind STUB or BINARY_OP_IC, the major key. | 5152 // [major_key]: For kind STUB or BINARY_OP_IC, the major key. |
| 5153 inline int major_key(); | 5153 inline int major_key(); |
| 5154 inline void set_major_key(int value); | 5154 inline void set_major_key(int value); |
| 5155 inline bool has_major_key(); | 5155 inline bool has_major_key(); |
| 5156 | 5156 |
| 5157 // For kind STUB or ICs, tells whether or not a code object was generated by | 5157 // For kind STUB or ICs, tells whether or not a code object was generated by |
| 5158 // the optimizing compiler (but it may not be an optimized function). | 5158 // the optimizing compiler (but it may not be an optimized function). |
| 5159 bool is_crankshafted(); | 5159 bool is_crankshafted(); |
| 5160 inline void set_is_crankshafted(bool value); | 5160 inline void set_is_crankshafted(bool value); |
| 5161 | 5161 |
| 5162 // For stubs, tells whether they should always exist, so that they can be | |
| 5163 // called from other stubs. | |
| 5164 inline bool is_pregenerated(); | |
| 5165 inline void set_is_pregenerated(bool value); | |
| 5166 | |
| 5167 // [optimizable]: For FUNCTION kind, tells if it is optimizable. | 5162 // [optimizable]: For FUNCTION kind, tells if it is optimizable. |
| 5168 inline bool optimizable(); | 5163 inline bool optimizable(); |
| 5169 inline void set_optimizable(bool value); | 5164 inline void set_optimizable(bool value); |
| 5170 | 5165 |
| 5171 // [has_deoptimization_support]: For FUNCTION kind, tells if it has | 5166 // [has_deoptimization_support]: For FUNCTION kind, tells if it has |
| 5172 // deoptimization support. | 5167 // deoptimization support. |
| 5173 inline bool has_deoptimization_support(); | 5168 inline bool has_deoptimization_support(); |
| 5174 inline void set_has_deoptimization_support(bool value); | 5169 inline void set_has_deoptimization_support(bool value); |
| 5175 | 5170 |
| 5176 // [has_debug_break_slots]: For FUNCTION kind, tells if it has | 5171 // [has_debug_break_slots]: For FUNCTION kind, tells if it has |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5444 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; | 5439 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; |
| 5445 | 5440 |
| 5446 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; | 5441 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1; |
| 5447 static const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1; | 5442 static const int kProfilerTicksOffset = kAllowOSRAtLoopNestingLevelOffset + 1; |
| 5448 | 5443 |
| 5449 // Flags layout. BitField<type, shift, size>. | 5444 // Flags layout. BitField<type, shift, size>. |
| 5450 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; | 5445 class ICStateField: public BitField<InlineCacheState, 0, 3> {}; |
| 5451 class TypeField: public BitField<StubType, 3, 1> {}; | 5446 class TypeField: public BitField<StubType, 3, 1> {}; |
| 5452 class CacheHolderField: public BitField<InlineCacheHolderFlag, 5, 1> {}; | 5447 class CacheHolderField: public BitField<InlineCacheHolderFlag, 5, 1> {}; |
| 5453 class KindField: public BitField<Kind, 6, 4> {}; | 5448 class KindField: public BitField<Kind, 6, 4> {}; |
| 5454 class IsPregeneratedField: public BitField<bool, 10, 1> {}; | |
| 5455 class ExtraICStateField: public BitField<ExtraICState, 11, 6> {}; | 5449 class ExtraICStateField: public BitField<ExtraICState, 11, 6> {}; |
|
Michael Starzinger
2013/12/02 09:21:30
Can we reorder the following fields to start at bi
Benedikt Meurer
2013/12/02 09:47:51
That'll break some assertions. I'll add a comment
| |
| 5456 class ExtendedExtraICStateField: public BitField<ExtraICState, 11, | 5450 class ExtendedExtraICStateField: public BitField<ExtraICState, 11, |
| 5457 PlatformSmiTagging::kSmiValueSize - 11 + 1> {}; // NOLINT | 5451 PlatformSmiTagging::kSmiValueSize - 11 + 1> {}; // NOLINT |
| 5458 STATIC_ASSERT(ExtraICStateField::kShift == ExtendedExtraICStateField::kShift); | 5452 STATIC_ASSERT(ExtraICStateField::kShift == ExtendedExtraICStateField::kShift); |
| 5459 | 5453 |
| 5460 // KindSpecificFlags1 layout (STUB and OPTIMIZED_FUNCTION) | 5454 // KindSpecificFlags1 layout (STUB and OPTIMIZED_FUNCTION) |
| 5461 static const int kStackSlotsFirstBit = 0; | 5455 static const int kStackSlotsFirstBit = 0; |
| 5462 static const int kStackSlotsBitCount = 24; | 5456 static const int kStackSlotsBitCount = 24; |
| 5463 static const int kHasFunctionCacheFirstBit = | 5457 static const int kHasFunctionCacheFirstBit = |
| 5464 kStackSlotsFirstBit + kStackSlotsBitCount; | 5458 kStackSlotsFirstBit + kStackSlotsBitCount; |
| 5465 static const int kHasFunctionCacheBitCount = 1; | 5459 static const int kHasFunctionCacheBitCount = 1; |
| (...skipping 5151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10617 } else { | 10611 } else { |
| 10618 value &= ~(1 << bit_position); | 10612 value &= ~(1 << bit_position); |
| 10619 } | 10613 } |
| 10620 return value; | 10614 return value; |
| 10621 } | 10615 } |
| 10622 }; | 10616 }; |
| 10623 | 10617 |
| 10624 } } // namespace v8::internal | 10618 } } // namespace v8::internal |
| 10625 | 10619 |
| 10626 #endif // V8_OBJECTS_H_ | 10620 #endif // V8_OBJECTS_H_ |
| OLD | NEW |