| 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 |