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 |