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 5091 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5102 // [deoptimization_data]: Array containing data for deopt. | 5102 // [deoptimization_data]: Array containing data for deopt. |
5103 DECL_ACCESSORS(deoptimization_data, FixedArray) | 5103 DECL_ACCESSORS(deoptimization_data, FixedArray) |
5104 | 5104 |
5105 // [source_position_table]: ByteArray for the source positions table. | 5105 // [source_position_table]: ByteArray for the source positions table. |
5106 DECL_ACCESSORS(source_position_table, ByteArray) | 5106 DECL_ACCESSORS(source_position_table, ByteArray) |
5107 | 5107 |
5108 // [protected_instructions]: Fixed array containing protected instruction and | 5108 // [protected_instructions]: Fixed array containing protected instruction and |
5109 // corresponding landing pad offsets. | 5109 // corresponding landing pad offsets. |
5110 DECL_ACCESSORS(protected_instructions, FixedArray) | 5110 DECL_ACCESSORS(protected_instructions, FixedArray) |
5111 | 5111 |
| 5112 // [trap_handler_index]: An index into the trap handler's master list of code |
| 5113 // objects. |
| 5114 DECL_ACCESSORS(trap_handler_index, Smi) |
| 5115 |
5112 // [raw_type_feedback_info]: This field stores various things, depending on | 5116 // [raw_type_feedback_info]: This field stores various things, depending on |
5113 // the kind of the code object. | 5117 // the kind of the code object. |
5114 // FUNCTION => type feedback information. | 5118 // FUNCTION => type feedback information. |
5115 // STUB and ICs => major/minor key as Smi. | 5119 // STUB and ICs => major/minor key as Smi. |
5116 DECL_ACCESSORS(raw_type_feedback_info, Object) | 5120 DECL_ACCESSORS(raw_type_feedback_info, Object) |
5117 inline Object* type_feedback_info(); | 5121 inline Object* type_feedback_info(); |
5118 inline void set_type_feedback_info( | 5122 inline void set_type_feedback_info( |
5119 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 5123 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
5120 inline uint32_t stub_key(); | 5124 inline uint32_t stub_key(); |
5121 inline void set_stub_key(uint32_t key); | 5125 inline void set_stub_key(uint32_t key); |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5494 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5498 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5495 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5499 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5496 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5500 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5497 static const int kKindSpecificFlags2Offset = | 5501 static const int kKindSpecificFlags2Offset = |
5498 kKindSpecificFlags1Offset + kIntSize; | 5502 kKindSpecificFlags1Offset + kIntSize; |
5499 // Note: We might be able to squeeze this into the flags above. | 5503 // Note: We might be able to squeeze this into the flags above. |
5500 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5504 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
5501 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; | 5505 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; |
5502 static const int kBuiltinIndexOffset = | 5506 static const int kBuiltinIndexOffset = |
5503 kConstantPoolOffset + kConstantPoolSize; | 5507 kConstantPoolOffset + kConstantPoolSize; |
5504 static const int kHeaderPaddingStart = kBuiltinIndexOffset + kIntSize; | 5508 static const int kTrapHandlerIndex = kBuiltinIndexOffset + kIntSize; |
| 5509 static const int kHeaderPaddingStart = kTrapHandlerIndex + kIntSize; |
5505 | 5510 |
5506 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; | 5511 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; |
5507 | 5512 |
5508 | 5513 |
5509 // Add padding to align the instruction start following right after | 5514 // Add padding to align the instruction start following right after |
5510 // the Code object header. | 5515 // the Code object header. |
5511 static const int kHeaderSize = | 5516 static const int kHeaderSize = |
5512 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5517 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5513 | 5518 |
5514 inline int GetUnwindingInfoSizeOffset() const; | 5519 inline int GetUnwindingInfoSizeOffset() const; |
(...skipping 6194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11709 } | 11714 } |
11710 }; | 11715 }; |
11711 | 11716 |
11712 | 11717 |
11713 } // NOLINT, false-positive due to second-order macros. | 11718 } // NOLINT, false-positive due to second-order macros. |
11714 } // NOLINT, false-positive due to second-order macros. | 11719 } // NOLINT, false-positive due to second-order macros. |
11715 | 11720 |
11716 #include "src/objects/object-macros-undef.h" | 11721 #include "src/objects/object-macros-undef.h" |
11717 | 11722 |
11718 #endif // V8_OBJECTS_H_ | 11723 #endif // V8_OBJECTS_H_ |
OLD | NEW |