OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 4991 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5002 // [has_deoptimization_support]: For FUNCTION kind, tells if it has | 5002 // [has_deoptimization_support]: For FUNCTION kind, tells if it has |
5003 // deoptimization support. | 5003 // deoptimization support. |
5004 inline bool has_deoptimization_support(); | 5004 inline bool has_deoptimization_support(); |
5005 inline void set_has_deoptimization_support(bool value); | 5005 inline void set_has_deoptimization_support(bool value); |
5006 | 5006 |
5007 // [has_debug_break_slots]: For FUNCTION kind, tells if it has | 5007 // [has_debug_break_slots]: For FUNCTION kind, tells if it has |
5008 // been compiled with debug break slots. | 5008 // been compiled with debug break slots. |
5009 inline bool has_debug_break_slots(); | 5009 inline bool has_debug_break_slots(); |
5010 inline void set_has_debug_break_slots(bool value); | 5010 inline void set_has_debug_break_slots(bool value); |
5011 | 5011 |
5012 // [compiled_with_optimizing]: For FUNCTION kind, tells if it has | |
5013 // been compiled with IsOptimizing set to true. | |
5014 inline bool is_compiled_optimizable(); | |
5015 inline void set_compiled_optimizable(bool value); | |
5016 | |
5017 // [has_reloc_info_for_serialization]: For FUNCTION kind, tells if its | 5012 // [has_reloc_info_for_serialization]: For FUNCTION kind, tells if its |
5018 // reloc info includes runtime and external references to support | 5013 // reloc info includes runtime and external references to support |
5019 // serialization/deserialization. | 5014 // serialization/deserialization. |
5020 inline bool has_reloc_info_for_serialization(); | 5015 inline bool has_reloc_info_for_serialization(); |
5021 inline void set_has_reloc_info_for_serialization(bool value); | 5016 inline void set_has_reloc_info_for_serialization(bool value); |
5022 | 5017 |
5023 // [allow_osr_at_loop_nesting_level]: For FUNCTION kind, tells for | 5018 // [allow_osr_at_loop_nesting_level]: For FUNCTION kind, tells for |
5024 // how long the function has been marked for OSR and therefore which | 5019 // how long the function has been marked for OSR and therefore which |
5025 // level of loop nesting we are willing to do on-stack replacement | 5020 // level of loop nesting we are willing to do on-stack replacement |
5026 // for. | 5021 // for. |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5301 // Add padding to align the instruction start following right after | 5296 // Add padding to align the instruction start following right after |
5302 // the Code object header. | 5297 // the Code object header. |
5303 static const int kHeaderSize = | 5298 static const int kHeaderSize = |
5304 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5299 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5305 | 5300 |
5306 // Byte offsets within kKindSpecificFlags1Offset. | 5301 // Byte offsets within kKindSpecificFlags1Offset. |
5307 static const int kFullCodeFlags = kKindSpecificFlags1Offset; | 5302 static const int kFullCodeFlags = kKindSpecificFlags1Offset; |
5308 class FullCodeFlagsHasDeoptimizationSupportField: | 5303 class FullCodeFlagsHasDeoptimizationSupportField: |
5309 public BitField<bool, 0, 1> {}; // NOLINT | 5304 public BitField<bool, 0, 1> {}; // NOLINT |
5310 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; | 5305 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; |
5311 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; | |
5312 class FullCodeFlagsHasRelocInfoForSerialization | 5306 class FullCodeFlagsHasRelocInfoForSerialization |
5313 : public BitField<bool, 3, 1> {}; | 5307 : public BitField<bool, 2, 1> {}; |
| 5308 // Bit 3 in this bitfield is unused. |
5314 class ProfilerTicksField : public BitField<int, 4, 28> {}; | 5309 class ProfilerTicksField : public BitField<int, 4, 28> {}; |
5315 | 5310 |
5316 // Flags layout. BitField<type, shift, size>. | 5311 // Flags layout. BitField<type, shift, size>. |
5317 class ICStateField : public BitField<InlineCacheState, 0, 4> {}; | 5312 class ICStateField : public BitField<InlineCacheState, 0, 4> {}; |
5318 class TypeField : public BitField<StubType, 4, 1> {}; | 5313 class TypeField : public BitField<StubType, 4, 1> {}; |
5319 class CacheHolderField : public BitField<CacheHolderFlag, 5, 2> {}; | 5314 class CacheHolderField : public BitField<CacheHolderFlag, 5, 2> {}; |
5320 class KindField : public BitField<Kind, 7, 4> {}; | 5315 class KindField : public BitField<Kind, 7, 4> {}; |
5321 class ExtraICStateField: public BitField<ExtraICState, 11, | 5316 class ExtraICStateField: public BitField<ExtraICState, 11, |
5322 PlatformSmiTagging::kSmiValueSize - 11 + 1> {}; // NOLINT | 5317 PlatformSmiTagging::kSmiValueSize - 11 + 1> {}; // NOLINT |
5323 | 5318 |
(...skipping 5476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10800 } else { | 10795 } else { |
10801 value &= ~(1 << bit_position); | 10796 value &= ~(1 << bit_position); |
10802 } | 10797 } |
10803 return value; | 10798 return value; |
10804 } | 10799 } |
10805 }; | 10800 }; |
10806 | 10801 |
10807 } } // namespace v8::internal | 10802 } } // namespace v8::internal |
10808 | 10803 |
10809 #endif // V8_OBJECTS_H_ | 10804 #endif // V8_OBJECTS_H_ |
OLD | NEW |