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 4898 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4909 | 4909 |
4910 // [handler_table]: Fixed array containing offsets of exception handlers. | 4910 // [handler_table]: Fixed array containing offsets of exception handlers. |
4911 DECL_ACCESSORS(handler_table, FixedArray) | 4911 DECL_ACCESSORS(handler_table, FixedArray) |
4912 | 4912 |
4913 // [deoptimization_data]: Array containing data for deopt. | 4913 // [deoptimization_data]: Array containing data for deopt. |
4914 DECL_ACCESSORS(deoptimization_data, FixedArray) | 4914 DECL_ACCESSORS(deoptimization_data, FixedArray) |
4915 | 4915 |
4916 // [source_position_table]: ByteArray for the source positions table. | 4916 // [source_position_table]: ByteArray for the source positions table. |
4917 DECL_ACCESSORS(source_position_table, ByteArray) | 4917 DECL_ACCESSORS(source_position_table, ByteArray) |
4918 | 4918 |
| 4919 // [trap_handler_index]: An index into the trap handler's master list of code |
| 4920 // objects. |
| 4921 DECL_ACCESSORS(trap_handler_index, Smi) |
| 4922 |
4919 // [raw_type_feedback_info]: This field stores various things, depending on | 4923 // [raw_type_feedback_info]: This field stores various things, depending on |
4920 // the kind of the code object. | 4924 // the kind of the code object. |
4921 // FUNCTION => type feedback information. | 4925 // FUNCTION => type feedback information. |
4922 // STUB and ICs => major/minor key as Smi. | 4926 // STUB and ICs => major/minor key as Smi. |
4923 DECL_ACCESSORS(raw_type_feedback_info, Object) | 4927 DECL_ACCESSORS(raw_type_feedback_info, Object) |
4924 inline Object* type_feedback_info(); | 4928 inline Object* type_feedback_info(); |
4925 inline void set_type_feedback_info( | 4929 inline void set_type_feedback_info( |
4926 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 4930 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
4927 inline uint32_t stub_key(); | 4931 inline uint32_t stub_key(); |
4928 inline void set_stub_key(uint32_t key); | 4932 inline void set_stub_key(uint32_t key); |
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5297 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5301 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5298 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5302 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5299 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5303 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5300 static const int kKindSpecificFlags2Offset = | 5304 static const int kKindSpecificFlags2Offset = |
5301 kKindSpecificFlags1Offset + kIntSize; | 5305 kKindSpecificFlags1Offset + kIntSize; |
5302 // Note: We might be able to squeeze this into the flags above. | 5306 // Note: We might be able to squeeze this into the flags above. |
5303 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5307 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
5304 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; | 5308 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; |
5305 static const int kBuiltinIndexOffset = | 5309 static const int kBuiltinIndexOffset = |
5306 kConstantPoolOffset + kConstantPoolSize; | 5310 kConstantPoolOffset + kConstantPoolSize; |
5307 static const int kHeaderPaddingStart = kBuiltinIndexOffset + kIntSize; | 5311 static const int kTrapHandlerIndex = kBuiltinIndexOffset + kIntSize; |
| 5312 static const int kHeaderPaddingStart = kTrapHandlerIndex + kPointerSize; |
5308 | 5313 |
5309 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; | 5314 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; |
5310 | 5315 |
5311 | 5316 |
5312 // Add padding to align the instruction start following right after | 5317 // Add padding to align the instruction start following right after |
5313 // the Code object header. | 5318 // the Code object header. |
5314 static const int kHeaderSize = | 5319 static const int kHeaderSize = |
5315 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5320 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5316 | 5321 |
5317 inline int GetUnwindingInfoSizeOffset() const; | 5322 inline int GetUnwindingInfoSizeOffset() const; |
(...skipping 6211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11529 } | 11534 } |
11530 }; | 11535 }; |
11531 | 11536 |
11532 | 11537 |
11533 } // NOLINT, false-positive due to second-order macros. | 11538 } // NOLINT, false-positive due to second-order macros. |
11534 } // NOLINT, false-positive due to second-order macros. | 11539 } // NOLINT, false-positive due to second-order macros. |
11535 | 11540 |
11536 #include "src/objects/object-macros-undef.h" | 11541 #include "src/objects/object-macros-undef.h" |
11537 | 11542 |
11538 #endif // V8_OBJECTS_H_ | 11543 #endif // V8_OBJECTS_H_ |
OLD | NEW |