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