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 5003 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5014 | 5014 |
5015 // [handler_table]: Fixed array containing offsets of exception handlers. | 5015 // [handler_table]: Fixed array containing offsets of exception handlers. |
5016 DECL_ACCESSORS(handler_table, FixedArray) | 5016 DECL_ACCESSORS(handler_table, FixedArray) |
5017 | 5017 |
5018 // [deoptimization_data]: Array containing data for deopt. | 5018 // [deoptimization_data]: Array containing data for deopt. |
5019 DECL_ACCESSORS(deoptimization_data, FixedArray) | 5019 DECL_ACCESSORS(deoptimization_data, FixedArray) |
5020 | 5020 |
5021 // [source_position_table]: ByteArray for the source positions table. | 5021 // [source_position_table]: ByteArray for the source positions table. |
5022 DECL_ACCESSORS(source_position_table, ByteArray) | 5022 DECL_ACCESSORS(source_position_table, ByteArray) |
5023 | 5023 |
| 5024 // [trap_handler_index]: An index into the trap handler's master list of code |
| 5025 // objects. |
| 5026 DECL_ACCESSORS(trap_handler_index, Smi) |
| 5027 |
5024 // [raw_type_feedback_info]: This field stores various things, depending on | 5028 // [raw_type_feedback_info]: This field stores various things, depending on |
5025 // the kind of the code object. | 5029 // the kind of the code object. |
5026 // FUNCTION => type feedback information. | 5030 // FUNCTION => type feedback information. |
5027 // STUB and ICs => major/minor key as Smi. | 5031 // STUB and ICs => major/minor key as Smi. |
5028 DECL_ACCESSORS(raw_type_feedback_info, Object) | 5032 DECL_ACCESSORS(raw_type_feedback_info, Object) |
5029 inline Object* type_feedback_info(); | 5033 inline Object* type_feedback_info(); |
5030 inline void set_type_feedback_info( | 5034 inline void set_type_feedback_info( |
5031 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 5035 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
5032 inline uint32_t stub_key(); | 5036 inline uint32_t stub_key(); |
5033 inline void set_stub_key(uint32_t key); | 5037 inline void set_stub_key(uint32_t key); |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5403 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5407 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5404 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5408 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5405 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5409 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5406 static const int kKindSpecificFlags2Offset = | 5410 static const int kKindSpecificFlags2Offset = |
5407 kKindSpecificFlags1Offset + kIntSize; | 5411 kKindSpecificFlags1Offset + kIntSize; |
5408 // Note: We might be able to squeeze this into the flags above. | 5412 // Note: We might be able to squeeze this into the flags above. |
5409 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5413 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
5410 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; | 5414 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; |
5411 static const int kBuiltinIndexOffset = | 5415 static const int kBuiltinIndexOffset = |
5412 kConstantPoolOffset + kConstantPoolSize; | 5416 kConstantPoolOffset + kConstantPoolSize; |
5413 static const int kHeaderPaddingStart = kBuiltinIndexOffset + kIntSize; | 5417 static const int kTrapHandlerIndex = kBuiltinIndexOffset + kIntSize; |
| 5418 static const int kHeaderPaddingStart = kTrapHandlerIndex + kPointerSize; |
5414 | 5419 |
5415 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; | 5420 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; |
5416 | 5421 |
5417 | 5422 |
5418 // Add padding to align the instruction start following right after | 5423 // Add padding to align the instruction start following right after |
5419 // the Code object header. | 5424 // the Code object header. |
5420 static const int kHeaderSize = | 5425 static const int kHeaderSize = |
5421 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5426 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5422 | 5427 |
5423 inline int GetUnwindingInfoSizeOffset() const; | 5428 inline int GetUnwindingInfoSizeOffset() const; |
(...skipping 6198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11622 } | 11627 } |
11623 }; | 11628 }; |
11624 | 11629 |
11625 | 11630 |
11626 } // NOLINT, false-positive due to second-order macros. | 11631 } // NOLINT, false-positive due to second-order macros. |
11627 } // NOLINT, false-positive due to second-order macros. | 11632 } // NOLINT, false-positive due to second-order macros. |
11628 | 11633 |
11629 #include "src/objects/object-macros-undef.h" | 11634 #include "src/objects/object-macros-undef.h" |
11630 | 11635 |
11631 #endif // V8_OBJECTS_H_ | 11636 #endif // V8_OBJECTS_H_ |
OLD | NEW |