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 5067 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5078 | 5078 |
5079 // [handler_table]: Fixed array containing offsets of exception handlers. | 5079 // [handler_table]: Fixed array containing offsets of exception handlers. |
5080 DECL_ACCESSORS(handler_table, FixedArray) | 5080 DECL_ACCESSORS(handler_table, FixedArray) |
5081 | 5081 |
5082 // [deoptimization_data]: Array containing data for deopt. | 5082 // [deoptimization_data]: Array containing data for deopt. |
5083 DECL_ACCESSORS(deoptimization_data, FixedArray) | 5083 DECL_ACCESSORS(deoptimization_data, FixedArray) |
5084 | 5084 |
5085 // [source_position_table]: ByteArray for the source positions table. | 5085 // [source_position_table]: ByteArray for the source positions table. |
5086 DECL_ACCESSORS(source_position_table, ByteArray) | 5086 DECL_ACCESSORS(source_position_table, ByteArray) |
5087 | 5087 |
| 5088 // [trap_handler_index]: An index into the trap handler's master list of code |
| 5089 // objects. |
| 5090 DECL_ACCESSORS(trap_handler_index, Smi) |
| 5091 |
5088 // [raw_type_feedback_info]: This field stores various things, depending on | 5092 // [raw_type_feedback_info]: This field stores various things, depending on |
5089 // the kind of the code object. | 5093 // the kind of the code object. |
5090 // FUNCTION => type feedback information. | 5094 // FUNCTION => type feedback information. |
5091 // STUB and ICs => major/minor key as Smi. | 5095 // STUB and ICs => major/minor key as Smi. |
5092 DECL_ACCESSORS(raw_type_feedback_info, Object) | 5096 DECL_ACCESSORS(raw_type_feedback_info, Object) |
5093 inline Object* type_feedback_info(); | 5097 inline Object* type_feedback_info(); |
5094 inline void set_type_feedback_info( | 5098 inline void set_type_feedback_info( |
5095 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 5099 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
5096 inline uint32_t stub_key(); | 5100 inline uint32_t stub_key(); |
5097 inline void set_stub_key(uint32_t key); | 5101 inline void set_stub_key(uint32_t key); |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5467 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5471 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5468 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5472 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5469 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5473 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5470 static const int kKindSpecificFlags2Offset = | 5474 static const int kKindSpecificFlags2Offset = |
5471 kKindSpecificFlags1Offset + kIntSize; | 5475 kKindSpecificFlags1Offset + kIntSize; |
5472 // Note: We might be able to squeeze this into the flags above. | 5476 // Note: We might be able to squeeze this into the flags above. |
5473 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5477 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
5474 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; | 5478 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; |
5475 static const int kBuiltinIndexOffset = | 5479 static const int kBuiltinIndexOffset = |
5476 kConstantPoolOffset + kConstantPoolSize; | 5480 kConstantPoolOffset + kConstantPoolSize; |
5477 static const int kHeaderPaddingStart = kBuiltinIndexOffset + kIntSize; | 5481 static const int kTrapHandlerIndex = kBuiltinIndexOffset + kIntSize; |
| 5482 static const int kHeaderPaddingStart = kTrapHandlerIndex + kPointerSize; |
5478 | 5483 |
5479 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; | 5484 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; |
5480 | 5485 |
5481 | 5486 |
5482 // Add padding to align the instruction start following right after | 5487 // Add padding to align the instruction start following right after |
5483 // the Code object header. | 5488 // the Code object header. |
5484 static const int kHeaderSize = | 5489 static const int kHeaderSize = |
5485 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5490 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5486 | 5491 |
5487 inline int GetUnwindingInfoSizeOffset() const; | 5492 inline int GetUnwindingInfoSizeOffset() const; |
(...skipping 6230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11718 } | 11723 } |
11719 }; | 11724 }; |
11720 | 11725 |
11721 | 11726 |
11722 } // NOLINT, false-positive due to second-order macros. | 11727 } // NOLINT, false-positive due to second-order macros. |
11723 } // NOLINT, false-positive due to second-order macros. | 11728 } // NOLINT, false-positive due to second-order macros. |
11724 | 11729 |
11725 #include "src/objects/object-macros-undef.h" | 11730 #include "src/objects/object-macros-undef.h" |
11726 | 11731 |
11727 #endif // V8_OBJECTS_H_ | 11732 #endif // V8_OBJECTS_H_ |
OLD | NEW |