OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/assert-scope.h" | 10 #include "src/assert-scope.h" |
(...skipping 4905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4916 DECL_ACCESSORS(relocation_info, ByteArray) | 4916 DECL_ACCESSORS(relocation_info, ByteArray) |
4917 void InvalidateRelocation(); | 4917 void InvalidateRelocation(); |
4918 void InvalidateEmbeddedObjects(); | 4918 void InvalidateEmbeddedObjects(); |
4919 | 4919 |
4920 // [handler_table]: Fixed array containing offsets of exception handlers. | 4920 // [handler_table]: Fixed array containing offsets of exception handlers. |
4921 DECL_ACCESSORS(handler_table, FixedArray) | 4921 DECL_ACCESSORS(handler_table, FixedArray) |
4922 | 4922 |
4923 // [deoptimization_data]: Array containing data for deopt. | 4923 // [deoptimization_data]: Array containing data for deopt. |
4924 DECL_ACCESSORS(deoptimization_data, FixedArray) | 4924 DECL_ACCESSORS(deoptimization_data, FixedArray) |
4925 | 4925 |
| 4926 // [source_position_table]: ByteArray for the source positions table. |
| 4927 DECL_ACCESSORS(source_position_table, ByteArray) |
| 4928 |
4926 // [raw_type_feedback_info]: This field stores various things, depending on | 4929 // [raw_type_feedback_info]: This field stores various things, depending on |
4927 // the kind of the code object. | 4930 // the kind of the code object. |
4928 // FUNCTION => type feedback information. | 4931 // FUNCTION => type feedback information. |
4929 // STUB and ICs => major/minor key as Smi. | 4932 // STUB and ICs => major/minor key as Smi. |
4930 DECL_ACCESSORS(raw_type_feedback_info, Object) | 4933 DECL_ACCESSORS(raw_type_feedback_info, Object) |
4931 inline Object* type_feedback_info(); | 4934 inline Object* type_feedback_info(); |
4932 inline void set_type_feedback_info( | 4935 inline void set_type_feedback_info( |
4933 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 4936 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
4934 inline uint32_t stub_key(); | 4937 inline uint32_t stub_key(); |
4935 inline void set_stub_key(uint32_t key); | 4938 inline void set_stub_key(uint32_t key); |
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5237 static const int kMaxLoopNestingMarker = 6; | 5240 static const int kMaxLoopNestingMarker = 6; |
5238 | 5241 |
5239 static const int kConstantPoolSize = | 5242 static const int kConstantPoolSize = |
5240 FLAG_enable_embedded_constant_pool ? kIntSize : 0; | 5243 FLAG_enable_embedded_constant_pool ? kIntSize : 0; |
5241 | 5244 |
5242 // Layout description. | 5245 // Layout description. |
5243 static const int kRelocationInfoOffset = HeapObject::kHeaderSize; | 5246 static const int kRelocationInfoOffset = HeapObject::kHeaderSize; |
5244 static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize; | 5247 static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize; |
5245 static const int kDeoptimizationDataOffset = | 5248 static const int kDeoptimizationDataOffset = |
5246 kHandlerTableOffset + kPointerSize; | 5249 kHandlerTableOffset + kPointerSize; |
| 5250 static const int kSourcePositionTableOffset = |
| 5251 kDeoptimizationDataOffset + kPointerSize; |
5247 // For FUNCTION kind, we store the type feedback info here. | 5252 // For FUNCTION kind, we store the type feedback info here. |
5248 static const int kTypeFeedbackInfoOffset = | 5253 static const int kTypeFeedbackInfoOffset = |
5249 kDeoptimizationDataOffset + kPointerSize; | 5254 kSourcePositionTableOffset + kPointerSize; |
5250 static const int kNextCodeLinkOffset = kTypeFeedbackInfoOffset + kPointerSize; | 5255 static const int kNextCodeLinkOffset = kTypeFeedbackInfoOffset + kPointerSize; |
5251 static const int kGCMetadataOffset = kNextCodeLinkOffset + kPointerSize; | 5256 static const int kGCMetadataOffset = kNextCodeLinkOffset + kPointerSize; |
5252 static const int kInstructionSizeOffset = kGCMetadataOffset + kPointerSize; | 5257 static const int kInstructionSizeOffset = kGCMetadataOffset + kPointerSize; |
5253 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5258 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5254 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5259 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5255 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5260 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5256 static const int kKindSpecificFlags2Offset = | 5261 static const int kKindSpecificFlags2Offset = |
5257 kKindSpecificFlags1Offset + kIntSize; | 5262 kKindSpecificFlags1Offset + kIntSize; |
5258 // Note: We might be able to squeeze this into the flags above. | 5263 // Note: We might be able to squeeze this into the flags above. |
5259 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5264 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
(...skipping 5567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10827 } | 10832 } |
10828 return value; | 10833 return value; |
10829 } | 10834 } |
10830 }; | 10835 }; |
10831 | 10836 |
10832 | 10837 |
10833 } // NOLINT, false-positive due to second-order macros. | 10838 } // NOLINT, false-positive due to second-order macros. |
10834 } // NOLINT, false-positive due to second-order macros. | 10839 } // NOLINT, false-positive due to second-order macros. |
10835 | 10840 |
10836 #endif // V8_OBJECTS_H_ | 10841 #endif // V8_OBJECTS_H_ |
OLD | NEW |