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 5470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5481 // Layout description. | 5481 // Layout description. |
5482 static const int kRelocationInfoOffset = HeapObject::kHeaderSize; | 5482 static const int kRelocationInfoOffset = HeapObject::kHeaderSize; |
5483 static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize; | 5483 static const int kHandlerTableOffset = kRelocationInfoOffset + kPointerSize; |
5484 static const int kDeoptimizationDataOffset = | 5484 static const int kDeoptimizationDataOffset = |
5485 kHandlerTableOffset + kPointerSize; | 5485 kHandlerTableOffset + kPointerSize; |
5486 static const int kSourcePositionTableOffset = | 5486 static const int kSourcePositionTableOffset = |
5487 kDeoptimizationDataOffset + kPointerSize; | 5487 kDeoptimizationDataOffset + kPointerSize; |
5488 // For FUNCTION kind, we store the type feedback info here. | 5488 // For FUNCTION kind, we store the type feedback info here. |
5489 static const int kTypeFeedbackInfoOffset = | 5489 static const int kTypeFeedbackInfoOffset = |
5490 kSourcePositionTableOffset + kPointerSize; | 5490 kSourcePositionTableOffset + kPointerSize; |
5491 static const int kNextCodeLinkOffset = kTypeFeedbackInfoOffset + kPointerSize; | 5491 static const int kProtectedInstructionOffset = |
| 5492 kTypeFeedbackInfoOffset + kPointerSize; |
| 5493 static const int kNextCodeLinkOffset = |
| 5494 kProtectedInstructionOffset + kPointerSize; |
5492 static const int kGCMetadataOffset = kNextCodeLinkOffset + kPointerSize; | 5495 static const int kGCMetadataOffset = kNextCodeLinkOffset + kPointerSize; |
5493 static const int kInstructionSizeOffset = kGCMetadataOffset + kPointerSize; | 5496 static const int kInstructionSizeOffset = kGCMetadataOffset + kPointerSize; |
5494 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5497 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5495 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5498 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5496 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5499 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5497 static const int kKindSpecificFlags2Offset = | 5500 static const int kKindSpecificFlags2Offset = |
5498 kKindSpecificFlags1Offset + kIntSize; | 5501 kKindSpecificFlags1Offset + kIntSize; |
5499 // Note: We might be able to squeeze this into the flags above. | 5502 // Note: We might be able to squeeze this into the flags above. |
5500 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5503 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
5501 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; | 5504 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; |
5502 static const int kBuiltinIndexOffset = | 5505 static const int kBuiltinIndexOffset = |
5503 kConstantPoolOffset + kConstantPoolSize; | 5506 kConstantPoolOffset + kConstantPoolSize; |
5504 static const int kProtectedInstructionOffset = kBuiltinIndexOffset + kIntSize; | 5507 static const int kHeaderPaddingStart = kBuiltinIndexOffset + kIntSize; |
5505 | 5508 |
5506 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; | 5509 enum TrapFields { kTrapCodeOffset, kTrapLandingOffset, kTrapDataSize }; |
5507 | 5510 |
5508 static const int kHeaderPaddingStart = | |
5509 kProtectedInstructionOffset + kPointerSize; | |
5510 | 5511 |
5511 // Add padding to align the instruction start following right after | 5512 // Add padding to align the instruction start following right after |
5512 // the Code object header. | 5513 // the Code object header. |
5513 static const int kHeaderSize = | 5514 static const int kHeaderSize = |
5514 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5515 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5515 | 5516 |
5516 inline int GetUnwindingInfoSizeOffset() const; | 5517 inline int GetUnwindingInfoSizeOffset() const; |
5517 | 5518 |
5518 class BodyDescriptor; | 5519 class BodyDescriptor; |
5519 | 5520 |
(...skipping 6186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11706 } | 11707 } |
11707 }; | 11708 }; |
11708 | 11709 |
11709 | 11710 |
11710 } // NOLINT, false-positive due to second-order macros. | 11711 } // NOLINT, false-positive due to second-order macros. |
11711 } // NOLINT, false-positive due to second-order macros. | 11712 } // NOLINT, false-positive due to second-order macros. |
11712 | 11713 |
11713 #include "src/objects/object-macros-undef.h" | 11714 #include "src/objects/object-macros-undef.h" |
11714 | 11715 |
11715 #endif // V8_OBJECTS_H_ | 11716 #endif // V8_OBJECTS_H_ |
OLD | NEW |