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 5323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5334 // [is_turbofanned]: For kind STUB or OPTIMIZED_FUNCTION, tells whether the | 5334 // [is_turbofanned]: For kind STUB or OPTIMIZED_FUNCTION, tells whether the |
5335 // code object was generated by the TurboFan optimizing compiler. | 5335 // code object was generated by the TurboFan optimizing compiler. |
5336 inline bool is_turbofanned(); | 5336 inline bool is_turbofanned(); |
5337 inline void set_is_turbofanned(bool value); | 5337 inline void set_is_turbofanned(bool value); |
5338 | 5338 |
5339 // [can_have_weak_objects]: For kind OPTIMIZED_FUNCTION, tells whether the | 5339 // [can_have_weak_objects]: For kind OPTIMIZED_FUNCTION, tells whether the |
5340 // embedded objects in code should be treated weakly. | 5340 // embedded objects in code should be treated weakly. |
5341 inline bool can_have_weak_objects(); | 5341 inline bool can_have_weak_objects(); |
5342 inline void set_can_have_weak_objects(bool value); | 5342 inline void set_can_have_weak_objects(bool value); |
5343 | 5343 |
5344 // [optimizable]: For FUNCTION kind, tells if it is optimizable. | |
5345 inline bool optimizable(); | |
5346 inline void set_optimizable(bool value); | |
5347 | |
5348 // [has_deoptimization_support]: For FUNCTION kind, tells if it has | 5344 // [has_deoptimization_support]: For FUNCTION kind, tells if it has |
5349 // deoptimization support. | 5345 // deoptimization support. |
5350 inline bool has_deoptimization_support(); | 5346 inline bool has_deoptimization_support(); |
5351 inline void set_has_deoptimization_support(bool value); | 5347 inline void set_has_deoptimization_support(bool value); |
5352 | 5348 |
5353 // [has_debug_break_slots]: For FUNCTION kind, tells if it has | 5349 // [has_debug_break_slots]: For FUNCTION kind, tells if it has |
5354 // been compiled with debug break slots. | 5350 // been compiled with debug break slots. |
5355 inline bool has_debug_break_slots(); | 5351 inline bool has_debug_break_slots(); |
5356 inline void set_has_debug_break_slots(bool value); | 5352 inline void set_has_debug_break_slots(bool value); |
5357 | 5353 |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5643 static const int kHeaderPaddingStart = kConstantPoolOffset + kPointerSize; | 5639 static const int kHeaderPaddingStart = kConstantPoolOffset + kPointerSize; |
5644 | 5640 |
5645 // Add padding to align the instruction start following right after | 5641 // Add padding to align the instruction start following right after |
5646 // the Code object header. | 5642 // the Code object header. |
5647 static const int kHeaderSize = | 5643 static const int kHeaderSize = |
5648 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5644 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5649 // Ensure that the slot for the constant pool pointer is aligned. | 5645 // Ensure that the slot for the constant pool pointer is aligned. |
5650 STATIC_ASSERT((kConstantPoolOffset & kPointerAlignmentMask) == 0); | 5646 STATIC_ASSERT((kConstantPoolOffset & kPointerAlignmentMask) == 0); |
5651 | 5647 |
5652 // Byte offsets within kKindSpecificFlags1Offset. | 5648 // Byte offsets within kKindSpecificFlags1Offset. |
5653 static const int kOptimizableOffset = kKindSpecificFlags1Offset; | 5649 static const int kFullCodeFlags = kKindSpecificFlags1Offset; |
5654 | |
5655 static const int kFullCodeFlags = kOptimizableOffset + 1; | |
5656 class FullCodeFlagsHasDeoptimizationSupportField: | 5650 class FullCodeFlagsHasDeoptimizationSupportField: |
5657 public BitField<bool, 0, 1> {}; // NOLINT | 5651 public BitField<bool, 0, 1> {}; // NOLINT |
5658 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; | 5652 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; |
5659 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; | 5653 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; |
5660 class FullCodeFlagsHasRelocInfoForSerialization | 5654 class FullCodeFlagsHasRelocInfoForSerialization |
5661 : public BitField<bool, 3, 1> {}; | 5655 : public BitField<bool, 3, 1> {}; |
5662 | 5656 |
5663 static const int kProfilerTicksOffset = kFullCodeFlags + 1; | 5657 static const int kProfilerTicksOffset = kFullCodeFlags + 1; |
5664 | 5658 |
5665 // Flags layout. BitField<type, shift, size>. | 5659 // Flags layout. BitField<type, shift, size>. |
(...skipping 5465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11131 } else { | 11125 } else { |
11132 value &= ~(1 << bit_position); | 11126 value &= ~(1 << bit_position); |
11133 } | 11127 } |
11134 return value; | 11128 return value; |
11135 } | 11129 } |
11136 }; | 11130 }; |
11137 | 11131 |
11138 } } // namespace v8::internal | 11132 } } // namespace v8::internal |
11139 | 11133 |
11140 #endif // V8_OBJECTS_H_ | 11134 #endif // V8_OBJECTS_H_ |
OLD | NEW |