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 // [protected_instructions]: Fixed array containing protected instruction and | |
5025 // corresponding landing pad offsets. | |
5026 DECL_ACCESSORS(protected_instructions, FixedArray) | |
5027 | |
5028 // [raw_type_feedback_info]: This field stores various things, depending on | 5024 // [raw_type_feedback_info]: This field stores various things, depending on |
5029 // the kind of the code object. | 5025 // the kind of the code object. |
5030 // FUNCTION => type feedback information. | 5026 // FUNCTION => type feedback information. |
5031 // STUB and ICs => major/minor key as Smi. | 5027 // STUB and ICs => major/minor key as Smi. |
5032 DECL_ACCESSORS(raw_type_feedback_info, Object) | 5028 DECL_ACCESSORS(raw_type_feedback_info, Object) |
5033 inline Object* type_feedback_info(); | 5029 inline Object* type_feedback_info(); |
5034 inline void set_type_feedback_info( | 5030 inline void set_type_feedback_info( |
5035 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); | 5031 Object* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
5036 inline uint32_t stub_key(); | 5032 inline uint32_t stub_key(); |
5037 inline void set_stub_key(uint32_t key); | 5033 inline void set_stub_key(uint32_t key); |
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5394 // Layout description. | 5390 // Layout description. |
5395 static const int kRelocationInfoOffset = HeapObject::kHeaderSize; | 5391 static const int kRelocationInfoOffset = HeapObject::kHeaderSize; |
5396 static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize; | 5392 static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize; |
5397 static const int kDeoptimizationDataOffset = | 5393 static const int kDeoptimizationDataOffset = |
5398 kHandlerTableOffset + kPointerSize; | 5394 kHandlerTableOffset + kPointerSize; |
5399 static const int kSourcePositionTableOffset = | 5395 static const int kSourcePositionTableOffset = |
5400 kDeoptimizationDataOffset + kPointerSize; | 5396 kDeoptimizationDataOffset + kPointerSize; |
5401 // For FUNCTION kind, we store the type feedback info here. | 5397 // For FUNCTION kind, we store the type feedback info here. |
5402 static const int kTypeFeedbackInfoOffset = | 5398 static const int kTypeFeedbackInfoOffset = |
5403 kSourcePositionTableOffset + kPointerSize; | 5399 kSourcePositionTableOffset + kPointerSize; |
5404 static const int kProtectedInstructionOffset = | 5400 static const int kNextCodeLinkOffset = kTypeFeedbackInfoOffset + kPointerSize; |
5405 kTypeFeedbackInfoOffset + kPointerSize; | |
5406 static const int kNextCodeLinkOffset = | |
5407 kProtectedInstructionOffset + kPointerSize; | |
5408 static const int kGCMetadataOffset = kNextCodeLinkOffset + kPointerSize; | 5401 static const int kGCMetadataOffset = kNextCodeLinkOffset + kPointerSize; |
5409 static const int kInstructionSizeOffset = kGCMetadataOffset + kPointerSize; | 5402 static const int kInstructionSizeOffset = kGCMetadataOffset + kPointerSize; |
5410 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5403 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5411 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5404 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5412 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5405 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5413 static const int kKindSpecificFlags2Offset = | 5406 static const int kKindSpecificFlags2Offset = |
5414 kKindSpecificFlags1Offset + kIntSize; | 5407 kKindSpecificFlags1Offset + kIntSize; |
5415 // Note: We might be able to squeeze this into the flags above. | 5408 // Note: We might be able to squeeze this into the flags above. |
5416 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5409 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
5417 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; | 5410 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; |
(...skipping 6211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11629 } | 11622 } |
11630 }; | 11623 }; |
11631 | 11624 |
11632 | 11625 |
11633 } // NOLINT, false-positive due to second-order macros. | 11626 } // NOLINT, false-positive due to second-order macros. |
11634 } // NOLINT, false-positive due to second-order macros. | 11627 } // NOLINT, false-positive due to second-order macros. |
11635 | 11628 |
11636 #include "src/objects/object-macros-undef.h" | 11629 #include "src/objects/object-macros-undef.h" |
11637 | 11630 |
11638 #endif // V8_OBJECTS_H_ | 11631 #endif // V8_OBJECTS_H_ |
OLD | NEW |