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 5114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5125 // [deoptimization_data]: Array containing data for deopt. | 5125 // [deoptimization_data]: Array containing data for deopt. |
5126 DECL_ACCESSORS(deoptimization_data, FixedArray) | 5126 DECL_ACCESSORS(deoptimization_data, FixedArray) |
5127 | 5127 |
5128 // [source_position_table]: ByteArray for the source positions table. | 5128 // [source_position_table]: ByteArray for the source positions table. |
5129 DECL_ACCESSORS(source_position_table, ByteArray) | 5129 DECL_ACCESSORS(source_position_table, ByteArray) |
5130 | 5130 |
5131 // [protected_instructions]: Fixed array containing protected instruction and | 5131 // [protected_instructions]: Fixed array containing protected instruction and |
5132 // corresponding landing pad offsets. | 5132 // corresponding landing pad offsets. |
5133 DECL_ACCESSORS(protected_instructions, FixedArray) | 5133 DECL_ACCESSORS(protected_instructions, FixedArray) |
5134 | 5134 |
| 5135 // [trap_handler_index]: An index into the trap handler's master list of code |
| 5136 // objects. |
| 5137 DECL_ACCESSORS(trap_handler_index, Smi) |
| 5138 |
5135 // [raw_type_feedback_info]: This field stores various things, depending on | 5139 // [raw_type_feedback_info]: This field stores various things, depending on |
5136 // the kind of the code object. | 5140 // the kind of the code object. |
5137 // FUNCTION => type feedback information. | 5141 // FUNCTION => type feedback information. |
5138 // STUB and ICs => major/minor key as Smi. | 5142 // STUB and ICs => major/minor key as Smi. |
5139 DECL_ACCESSORS(raw_type_feedback_info, Object) | 5143 DECL_ACCESSORS(raw_type_feedback_info, Object) |
5140 inline Object* type_feedback_info(); | 5144 inline Object* type_feedback_info(); |
5141 inline void set_type_feedback_info( | 5145 inline void set_type_feedback_info( |
5142 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 5146 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
5143 inline uint32_t stub_key(); | 5147 inline uint32_t stub_key(); |
5144 inline void set_stub_key(uint32_t key); | 5148 inline void set_stub_key(uint32_t key); |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5517 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5521 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5518 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5522 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5519 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5523 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5520 static const int kKindSpecificFlags2Offset = | 5524 static const int kKindSpecificFlags2Offset = |
5521 kKindSpecificFlags1Offset + kIntSize; | 5525 kKindSpecificFlags1Offset + kIntSize; |
5522 // Note: We might be able to squeeze this into the flags above. | 5526 // Note: We might be able to squeeze this into the flags above. |
5523 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5527 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
5524 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; | 5528 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; |
5525 static const int kBuiltinIndexOffset = | 5529 static const int kBuiltinIndexOffset = |
5526 kConstantPoolOffset + kConstantPoolSize; | 5530 kConstantPoolOffset + kConstantPoolSize; |
5527 static const int kHeaderPaddingStart = kBuiltinIndexOffset + kIntSize; | 5531 static const int kTrapHandlerIndex = kBuiltinIndexOffset + kIntSize; |
| 5532 static const int kHeaderPaddingStart = kTrapHandlerIndex + kIntSize; |
5528 | 5533 |
5529 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; | 5534 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; |
5530 | 5535 |
5531 | 5536 |
5532 // Add padding to align the instruction start following right after | 5537 // Add padding to align the instruction start following right after |
5533 // the Code object header. | 5538 // the Code object header. |
5534 static const int kHeaderSize = | 5539 static const int kHeaderSize = |
5535 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5540 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5536 | 5541 |
5537 inline int GetUnwindingInfoSizeOffset() const; | 5542 inline int GetUnwindingInfoSizeOffset() const; |
(...skipping 6210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11748 } | 11753 } |
11749 }; | 11754 }; |
11750 | 11755 |
11751 | 11756 |
11752 } // NOLINT, false-positive due to second-order macros. | 11757 } // NOLINT, false-positive due to second-order macros. |
11753 } // NOLINT, false-positive due to second-order macros. | 11758 } // NOLINT, false-positive due to second-order macros. |
11754 | 11759 |
11755 #include "src/objects/object-macros-undef.h" | 11760 #include "src/objects/object-macros-undef.h" |
11756 | 11761 |
11757 #endif // V8_OBJECTS_H_ | 11762 #endif // V8_OBJECTS_H_ |
OLD | NEW |