| 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 5085 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5096 // [has_debug_break_slots]: For FUNCTION kind, tells if it has | 5096 // [has_debug_break_slots]: For FUNCTION kind, tells if it has |
| 5097 // been compiled with debug break slots. | 5097 // been compiled with debug break slots. |
| 5098 inline bool has_debug_break_slots(); | 5098 inline bool has_debug_break_slots(); |
| 5099 inline void set_has_debug_break_slots(bool value); | 5099 inline void set_has_debug_break_slots(bool value); |
| 5100 | 5100 |
| 5101 // [compiled_with_optimizing]: For FUNCTION kind, tells if it has | 5101 // [compiled_with_optimizing]: For FUNCTION kind, tells if it has |
| 5102 // been compiled with IsOptimizing set to true. | 5102 // been compiled with IsOptimizing set to true. |
| 5103 inline bool is_compiled_optimizable(); | 5103 inline bool is_compiled_optimizable(); |
| 5104 inline void set_compiled_optimizable(bool value); | 5104 inline void set_compiled_optimizable(bool value); |
| 5105 | 5105 |
| 5106 // [has_reloc_info_for_serialization]: For FUNCTION kind, tells if its |
| 5107 // reloc info includes runtime and external references to support |
| 5108 // serialization/deserialization. |
| 5109 inline bool has_reloc_info_for_serialization(); |
| 5110 inline void set_has_reloc_info_for_serialization(bool value); |
| 5111 |
| 5106 // [allow_osr_at_loop_nesting_level]: For FUNCTION kind, tells for | 5112 // [allow_osr_at_loop_nesting_level]: For FUNCTION kind, tells for |
| 5107 // how long the function has been marked for OSR and therefore which | 5113 // how long the function has been marked for OSR and therefore which |
| 5108 // level of loop nesting we are willing to do on-stack replacement | 5114 // level of loop nesting we are willing to do on-stack replacement |
| 5109 // for. | 5115 // for. |
| 5110 inline void set_allow_osr_at_loop_nesting_level(int level); | 5116 inline void set_allow_osr_at_loop_nesting_level(int level); |
| 5111 inline int allow_osr_at_loop_nesting_level(); | 5117 inline int allow_osr_at_loop_nesting_level(); |
| 5112 | 5118 |
| 5113 // [profiler_ticks]: For FUNCTION kind, tells for how many profiler ticks | 5119 // [profiler_ticks]: For FUNCTION kind, tells for how many profiler ticks |
| 5114 // the code object was seen on the stack with no IC patching going on. | 5120 // the code object was seen on the stack with no IC patching going on. |
| 5115 inline int profiler_ticks(); | 5121 inline int profiler_ticks(); |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5380 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5386 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
| 5381 | 5387 |
| 5382 // Byte offsets within kKindSpecificFlags1Offset. | 5388 // Byte offsets within kKindSpecificFlags1Offset. |
| 5383 static const int kOptimizableOffset = kKindSpecificFlags1Offset; | 5389 static const int kOptimizableOffset = kKindSpecificFlags1Offset; |
| 5384 | 5390 |
| 5385 static const int kFullCodeFlags = kOptimizableOffset + 1; | 5391 static const int kFullCodeFlags = kOptimizableOffset + 1; |
| 5386 class FullCodeFlagsHasDeoptimizationSupportField: | 5392 class FullCodeFlagsHasDeoptimizationSupportField: |
| 5387 public BitField<bool, 0, 1> {}; // NOLINT | 5393 public BitField<bool, 0, 1> {}; // NOLINT |
| 5388 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; | 5394 class FullCodeFlagsHasDebugBreakSlotsField: public BitField<bool, 1, 1> {}; |
| 5389 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; | 5395 class FullCodeFlagsIsCompiledOptimizable: public BitField<bool, 2, 1> {}; |
| 5396 class FullCodeFlagsHasRelocInfoForSerialization |
| 5397 : public BitField<bool, 3, 1> {}; |
| 5390 | 5398 |
| 5391 static const int kProfilerTicksOffset = kFullCodeFlags + 1; | 5399 static const int kProfilerTicksOffset = kFullCodeFlags + 1; |
| 5392 | 5400 |
| 5393 // Flags layout. BitField<type, shift, size>. | 5401 // Flags layout. BitField<type, shift, size>. |
| 5394 class ICStateField : public BitField<InlineCacheState, 0, 4> {}; | 5402 class ICStateField : public BitField<InlineCacheState, 0, 4> {}; |
| 5395 class TypeField : public BitField<StubType, 4, 1> {}; | 5403 class TypeField : public BitField<StubType, 4, 1> {}; |
| 5396 class CacheHolderField : public BitField<CacheHolderFlag, 5, 2> {}; | 5404 class CacheHolderField : public BitField<CacheHolderFlag, 5, 2> {}; |
| 5397 class KindField : public BitField<Kind, 7, 4> {}; | 5405 class KindField : public BitField<Kind, 7, 4> {}; |
| 5398 class ExtraICStateField: public BitField<ExtraICState, 11, | 5406 class ExtraICStateField: public BitField<ExtraICState, 11, |
| 5399 PlatformSmiTagging::kSmiValueSize - 11 + 1> {}; // NOLINT | 5407 PlatformSmiTagging::kSmiValueSize - 11 + 1> {}; // NOLINT |
| (...skipping 5569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10969 } else { | 10977 } else { |
| 10970 value &= ~(1 << bit_position); | 10978 value &= ~(1 << bit_position); |
| 10971 } | 10979 } |
| 10972 return value; | 10980 return value; |
| 10973 } | 10981 } |
| 10974 }; | 10982 }; |
| 10975 | 10983 |
| 10976 } } // namespace v8::internal | 10984 } } // namespace v8::internal |
| 10977 | 10985 |
| 10978 #endif // V8_OBJECTS_H_ | 10986 #endif // V8_OBJECTS_H_ |
| OLD | NEW |