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 5670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5681 // Returns the object size for a given body (used for allocation). | 5681 // Returns the object size for a given body (used for allocation). |
5682 static int SizeFor(int body_size) { | 5682 static int SizeFor(int body_size) { |
5683 DCHECK_SIZE_TAG_ALIGNED(body_size); | 5683 DCHECK_SIZE_TAG_ALIGNED(body_size); |
5684 return RoundUp(kHeaderSize + body_size, kCodeAlignment); | 5684 return RoundUp(kHeaderSize + body_size, kCodeAlignment); |
5685 } | 5685 } |
5686 | 5686 |
5687 // Calculate the size of the code object to report for log events. This takes | 5687 // Calculate the size of the code object to report for log events. This takes |
5688 // the layout of the code object into account. | 5688 // the layout of the code object into account. |
5689 inline int ExecutableSize(); | 5689 inline int ExecutableSize(); |
5690 | 5690 |
5691 DECL_INT_ACCESSORS(exception_hint) | |
jgruber
2016/11/22 08:55:55
If this is just a boolean, perhaps it could be tur
gsathya
2016/11/23 14:31:18
Yes, agreed. I had a comment on my previous patch
| |
5692 | |
5691 DECLARE_CAST(Code) | 5693 DECLARE_CAST(Code) |
5692 | 5694 |
5693 // Dispatched behavior. | 5695 // Dispatched behavior. |
5694 inline int CodeSize(); | 5696 inline int CodeSize(); |
5695 | 5697 |
5696 DECLARE_PRINTER(Code) | 5698 DECLARE_PRINTER(Code) |
5697 DECLARE_VERIFIER(Code) | 5699 DECLARE_VERIFIER(Code) |
5698 | 5700 |
5699 void ClearInlineCaches(); | 5701 void ClearInlineCaches(); |
5700 | 5702 |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5778 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; | 5780 static const int kICAgeOffset = kInstructionSizeOffset + kIntSize; |
5779 static const int kFlagsOffset = kICAgeOffset + kIntSize; | 5781 static const int kFlagsOffset = kICAgeOffset + kIntSize; |
5780 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; | 5782 static const int kKindSpecificFlags1Offset = kFlagsOffset + kIntSize; |
5781 static const int kKindSpecificFlags2Offset = | 5783 static const int kKindSpecificFlags2Offset = |
5782 kKindSpecificFlags1Offset + kIntSize; | 5784 kKindSpecificFlags1Offset + kIntSize; |
5783 // Note: We might be able to squeeze this into the flags above. | 5785 // Note: We might be able to squeeze this into the flags above. |
5784 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; | 5786 static const int kPrologueOffset = kKindSpecificFlags2Offset + kIntSize; |
5785 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; | 5787 static const int kConstantPoolOffset = kPrologueOffset + kIntSize; |
5786 static const int kBuiltinIndexOffset = | 5788 static const int kBuiltinIndexOffset = |
5787 kConstantPoolOffset + kConstantPoolSize; | 5789 kConstantPoolOffset + kConstantPoolSize; |
5788 static const int kHeaderPaddingStart = kBuiltinIndexOffset + kIntSize; | 5790 static const int kExceptionHintOffset = kBuiltinIndexOffset + kIntSize; |
5791 static const int kHeaderPaddingStart = kExceptionHintOffset + kIntSize; | |
5789 | 5792 |
5790 // Add padding to align the instruction start following right after | 5793 // Add padding to align the instruction start following right after |
5791 // the Code object header. | 5794 // the Code object header. |
5792 static const int kHeaderSize = | 5795 static const int kHeaderSize = |
5793 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; | 5796 (kHeaderPaddingStart + kCodeAlignmentMask) & ~kCodeAlignmentMask; |
5794 | 5797 |
5795 inline int GetUnwindingInfoSizeOffset() const; | 5798 inline int GetUnwindingInfoSizeOffset() const; |
5796 | 5799 |
5797 class BodyDescriptor; | 5800 class BodyDescriptor; |
5798 | 5801 |
(...skipping 6063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
11862 } | 11865 } |
11863 return value; | 11866 return value; |
11864 } | 11867 } |
11865 }; | 11868 }; |
11866 | 11869 |
11867 | 11870 |
11868 } // NOLINT, false-positive due to second-order macros. | 11871 } // NOLINT, false-positive due to second-order macros. |
11869 } // NOLINT, false-positive due to second-order macros. | 11872 } // NOLINT, false-positive due to second-order macros. |
11870 | 11873 |
11871 #endif // V8_OBJECTS_H_ | 11874 #endif // V8_OBJECTS_H_ |
OLD | NEW |