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 5385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5396 | 5396 |
5397 // [handler_table]: Fixed array containing offsets of exception handlers. | 5397 // [handler_table]: Fixed array containing offsets of exception handlers. |
5398 DECL_ACCESSORS(handler_table, FixedArray) | 5398 DECL_ACCESSORS(handler_table, FixedArray) |
5399 | 5399 |
5400 // [deoptimization_data]: Array containing data for deopt. | 5400 // [deoptimization_data]: Array containing data for deopt. |
5401 DECL_ACCESSORS(deoptimization_data, FixedArray) | 5401 DECL_ACCESSORS(deoptimization_data, FixedArray) |
5402 | 5402 |
5403 // [source_position_table]: ByteArray for the source positions table. | 5403 // [source_position_table]: ByteArray for the source positions table. |
5404 DECL_ACCESSORS(source_position_table, ByteArray) | 5404 DECL_ACCESSORS(source_position_table, ByteArray) |
5405 | 5405 |
| 5406 // [protected_instructions]: Fixed array containing protected instruction and |
| 5407 // corresponding landing pad offsets. |
| 5408 DECL_ACCESSORS(protected_instructions, FixedArray) |
| 5409 |
5406 // [raw_type_feedback_info]: This field stores various things, depending on | 5410 // [raw_type_feedback_info]: This field stores various things, depending on |
5407 // the kind of the code object. | 5411 // the kind of the code object. |
5408 // FUNCTION => type feedback information. | 5412 // FUNCTION => type feedback information. |
5409 // STUB and ICs => major/minor key as Smi. | 5413 // STUB and ICs => major/minor key as Smi. |
5410 DECL_ACCESSORS(raw_type_feedback_info, Object) | 5414 DECL_ACCESSORS(raw_type_feedback_info, Object) |
5411 inline Object* type_feedback_info(); | 5415 inline Object* type_feedback_info(); |
5412 inline void set_type_feedback_info( | 5416 inline void set_type_feedback_info( |
5413 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 5417 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
5414 inline uint32_t stub_key(); | 5418 inline uint32_t stub_key(); |
5415 inline void set_stub_key(uint32_t key); | 5419 inline void set_stub_key(uint32_t key); |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5778 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5782 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5779 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5783 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5780 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5784 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5781 static const int kKindSpecificFlags2Offset = | 5785 static const int kKindSpecificFlags2Offset = |
5782 kKindSpecificFlags1Offset + kIntSize; | 5786 kKindSpecificFlags1Offset + kIntSize; |
5783 // Note: We might be able to squeeze this into the flags above. | 5787 // Note: We might be able to squeeze this into the flags above. |
5784 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5788 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
5785 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; | 5789 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; |
5786 static const int kBuiltinIndexOffset = | 5790 static const int kBuiltinIndexOffset = |
5787 kConstantPoolOffset + kConstantPoolSize; | 5791 kConstantPoolOffset + kConstantPoolSize; |
5788 static const int kHeaderPaddingStart = kBuiltinIndexOffset + kIntSize; | 5792 static const int kProtectedInstructionOffset = kBuiltinIndexOffset + kIntSize; |
| 5793 static const int kHeaderPaddingStart = |
| 5794 kProtectedInstructionOffset + kPointerSize; |
5789 | 5795 |
5790 // Add padding to align the instruction start following right after | 5796 // Add padding to align the instruction start following right after |
5791 // the Code object header. | 5797 // the Code object header. |
5792 static const int kHeaderSize = | 5798 static const int kHeaderSize = |
5793 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5799 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5794 | 5800 |
5795 inline int GetUnwindingInfoSizeOffset() const; | 5801 inline int GetUnwindingInfoSizeOffset() const; |
5796 | 5802 |
5797 class BodyDescriptor; | 5803 class BodyDescriptor; |
5798 | 5804 |
(...skipping 6063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11862 } | 11868 } |
11863 return value; | 11869 return value; |
11864 } | 11870 } |
11865 }; | 11871 }; |
11866 | 11872 |
11867 | 11873 |
11868 } // NOLINT, false-positive due to second-order macros. | 11874 } // NOLINT, false-positive due to second-order macros. |
11869 } // NOLINT, false-positive due to second-order macros. | 11875 } // NOLINT, false-positive due to second-order macros. |
11870 | 11876 |
11871 #endif // V8_OBJECTS_H_ | 11877 #endif // V8_OBJECTS_H_ |
OLD | NEW |