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 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 5403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5414 | 5414 |
5415 // [handler_table]: Fixed array containing offsets of exception handlers. | 5415 // [handler_table]: Fixed array containing offsets of exception handlers. |
5416 DECL_ACCESSORS(handler_table, FixedArray) | 5416 DECL_ACCESSORS(handler_table, FixedArray) |
5417 | 5417 |
5418 // [deoptimization_data]: Array containing data for deopt. | 5418 // [deoptimization_data]: Array containing data for deopt. |
5419 DECL_ACCESSORS(deoptimization_data, FixedArray) | 5419 DECL_ACCESSORS(deoptimization_data, FixedArray) |
5420 | 5420 |
5421 // [source_position_table]: ByteArray for the source positions table. | 5421 // [source_position_table]: ByteArray for the source positions table. |
5422 DECL_ACCESSORS(source_position_table, ByteArray) | 5422 DECL_ACCESSORS(source_position_table, ByteArray) |
5423 | 5423 |
| 5424 // [protected_instructions]: Fixed array containing protected instruction and |
| 5425 // corresponding landing pad offsets. |
| 5426 DECL_ACCESSORS(protected_instructions, FixedArray) |
| 5427 |
5424 // [raw_type_feedback_info]: This field stores various things, depending on | 5428 // [raw_type_feedback_info]: This field stores various things, depending on |
5425 // the kind of the code object. | 5429 // the kind of the code object. |
5426 // FUNCTION => type feedback information. | 5430 // FUNCTION => type feedback information. |
5427 // STUB and ICs => major/minor key as Smi. | 5431 // STUB and ICs => major/minor key as Smi. |
5428 DECL_ACCESSORS(raw_type_feedback_info, Object) | 5432 DECL_ACCESSORS(raw_type_feedback_info, Object) |
5429 inline Object* type_feedback_info(); | 5433 inline Object* type_feedback_info(); |
5430 inline void set_type_feedback_info( | 5434 inline void set_type_feedback_info( |
5431 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 5435 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
5432 inline uint32_t stub_key(); | 5436 inline uint32_t stub_key(); |
5433 inline void set_stub_key(uint32_t key); | 5437 inline void set_stub_key(uint32_t key); |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5793 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5797 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5794 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5798 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5795 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5799 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5796 static const int kKindSpecificFlags2Offset = | 5800 static const int kKindSpecificFlags2Offset = |
5797 kKindSpecificFlags1Offset + kIntSize; | 5801 kKindSpecificFlags1Offset + kIntSize; |
5798 // Note: We might be able to squeeze this into the flags above. | 5802 // Note: We might be able to squeeze this into the flags above. |
5799 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5803 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
5800 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; | 5804 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; |
5801 static const int kBuiltinIndexOffset = | 5805 static const int kBuiltinIndexOffset = |
5802 kConstantPoolOffset + kConstantPoolSize; | 5806 kConstantPoolOffset + kConstantPoolSize; |
5803 static const int kHeaderPaddingStart = kBuiltinIndexOffset + kIntSize; | 5807 static const int kProtectedInstructionOffset = kBuiltinIndexOffset + kIntSize; |
| 5808 |
| 5809 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; |
| 5810 |
| 5811 static const int kHeaderPaddingStart = |
| 5812 kProtectedInstructionOffset + kPointerSize; |
5804 | 5813 |
5805 // Add padding to align the instruction start following right after | 5814 // Add padding to align the instruction start following right after |
5806 // the Code object header. | 5815 // the Code object header. |
5807 static const int kHeaderSize = | 5816 static const int kHeaderSize = |
5808 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5817 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5809 | 5818 |
5810 inline int GetUnwindingInfoSizeOffset() const; | 5819 inline int GetUnwindingInfoSizeOffset() const; |
5811 | 5820 |
5812 class BodyDescriptor; | 5821 class BodyDescriptor; |
5813 | 5822 |
(...skipping 6108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11922 } | 11931 } |
11923 return value; | 11932 return value; |
11924 } | 11933 } |
11925 }; | 11934 }; |
11926 | 11935 |
11927 | 11936 |
11928 } // NOLINT, false-positive due to second-order macros. | 11937 } // NOLINT, false-positive due to second-order macros. |
11929 } // NOLINT, false-positive due to second-order macros. | 11938 } // NOLINT, false-positive due to second-order macros. |
11930 | 11939 |
11931 #endif // V8_OBJECTS_H_ | 11940 #endif // V8_OBJECTS_H_ |
OLD | NEW |