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 7484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7495 | 7495 |
7496 // [expected_nof_properties]: Expected number of properties for the function. | 7496 // [expected_nof_properties]: Expected number of properties for the function. |
7497 inline int expected_nof_properties() const; | 7497 inline int expected_nof_properties() const; |
7498 inline void set_expected_nof_properties(int value); | 7498 inline void set_expected_nof_properties(int value); |
7499 | 7499 |
7500 // [feedback_metadata] - describes ast node feedback from full-codegen and | 7500 // [feedback_metadata] - describes ast node feedback from full-codegen and |
7501 // (increasingly) from crankshafted code where sufficient feedback isn't | 7501 // (increasingly) from crankshafted code where sufficient feedback isn't |
7502 // available. | 7502 // available. |
7503 DECL_ACCESSORS(feedback_metadata, TypeFeedbackMetadata) | 7503 DECL_ACCESSORS(feedback_metadata, TypeFeedbackMetadata) |
7504 | 7504 |
| 7505 // [function_literal_id] - uniquely identifies the FunctionLiteral this |
| 7506 // SharedFunctionInfo represents within its script, or -1 if this |
| 7507 // SharedFunctionInfo object doesn't correspond to a parsed FunctionLiteral. |
| 7508 inline int function_literal_id() const; |
| 7509 inline void set_function_literal_id(int value); |
| 7510 |
7505 #if TRACE_MAPS | 7511 #if TRACE_MAPS |
7506 // [unique_id] - For --trace-maps purposes, an identifier that's persistent | 7512 // [unique_id] - For --trace-maps purposes, an identifier that's persistent |
7507 // even if the GC moves this SharedFunctionInfo. | 7513 // even if the GC moves this SharedFunctionInfo. |
7508 inline int unique_id() const; | 7514 inline int unique_id() const; |
7509 inline void set_unique_id(int value); | 7515 inline void set_unique_id(int value); |
7510 #endif | 7516 #endif |
7511 | 7517 |
7512 // [instance class name]: class name for instances. | 7518 // [instance class name]: class name for instances. |
7513 DECL_ACCESSORS(instance_class_name, Object) | 7519 DECL_ACCESSORS(instance_class_name, Object) |
7514 | 7520 |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7803 static const int kConstructStubOffset = kOuterScopeInfoOffset + kPointerSize; | 7809 static const int kConstructStubOffset = kOuterScopeInfoOffset + kPointerSize; |
7804 static const int kInstanceClassNameOffset = | 7810 static const int kInstanceClassNameOffset = |
7805 kConstructStubOffset + kPointerSize; | 7811 kConstructStubOffset + kPointerSize; |
7806 static const int kFunctionDataOffset = | 7812 static const int kFunctionDataOffset = |
7807 kInstanceClassNameOffset + kPointerSize; | 7813 kInstanceClassNameOffset + kPointerSize; |
7808 static const int kScriptOffset = kFunctionDataOffset + kPointerSize; | 7814 static const int kScriptOffset = kFunctionDataOffset + kPointerSize; |
7809 static const int kDebugInfoOffset = kScriptOffset + kPointerSize; | 7815 static const int kDebugInfoOffset = kScriptOffset + kPointerSize; |
7810 static const int kFunctionIdentifierOffset = kDebugInfoOffset + kPointerSize; | 7816 static const int kFunctionIdentifierOffset = kDebugInfoOffset + kPointerSize; |
7811 static const int kFeedbackMetadataOffset = | 7817 static const int kFeedbackMetadataOffset = |
7812 kFunctionIdentifierOffset + kPointerSize; | 7818 kFunctionIdentifierOffset + kPointerSize; |
| 7819 static const int kFunctionLiteralIdOffset = |
| 7820 kFeedbackMetadataOffset + kPointerSize; |
7813 #if TRACE_MAPS | 7821 #if TRACE_MAPS |
7814 static const int kUniqueIdOffset = kFeedbackMetadataOffset + kPointerSize; | 7822 static const int kUniqueIdOffset = kFunctionLiteralIdOffset + kPointerSize; |
7815 static const int kLastPointerFieldOffset = kUniqueIdOffset; | 7823 static const int kLastPointerFieldOffset = kUniqueIdOffset; |
7816 #else | 7824 #else |
7817 // Just to not break the postmortrem support with conditional offsets | 7825 // Just to not break the postmortrem support with conditional offsets |
7818 static const int kUniqueIdOffset = kFeedbackMetadataOffset; | 7826 static const int kUniqueIdOffset = kFunctionLiteralIdOffset; |
7819 static const int kLastPointerFieldOffset = kFeedbackMetadataOffset; | 7827 static const int kLastPointerFieldOffset = kFunctionLiteralIdOffset; |
7820 #endif | 7828 #endif |
7821 | 7829 |
7822 #if V8_HOST_ARCH_32_BIT | 7830 #if V8_HOST_ARCH_32_BIT |
7823 // Smi fields. | 7831 // Smi fields. |
7824 static const int kLengthOffset = kLastPointerFieldOffset + kPointerSize; | 7832 static const int kLengthOffset = kLastPointerFieldOffset + kPointerSize; |
7825 static const int kFormalParameterCountOffset = kLengthOffset + kPointerSize; | 7833 static const int kFormalParameterCountOffset = kLengthOffset + kPointerSize; |
7826 static const int kExpectedNofPropertiesOffset = | 7834 static const int kExpectedNofPropertiesOffset = |
7827 kFormalParameterCountOffset + kPointerSize; | 7835 kFormalParameterCountOffset + kPointerSize; |
7828 static const int kNumLiteralsOffset = | 7836 static const int kNumLiteralsOffset = |
7829 kExpectedNofPropertiesOffset + kPointerSize; | 7837 kExpectedNofPropertiesOffset + kPointerSize; |
(...skipping 4063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11893 } | 11901 } |
11894 return value; | 11902 return value; |
11895 } | 11903 } |
11896 }; | 11904 }; |
11897 | 11905 |
11898 | 11906 |
11899 } // NOLINT, false-positive due to second-order macros. | 11907 } // NOLINT, false-positive due to second-order macros. |
11900 } // NOLINT, false-positive due to second-order macros. | 11908 } // NOLINT, false-positive due to second-order macros. |
11901 | 11909 |
11902 #endif // V8_OBJECTS_H_ | 11910 #endif // V8_OBJECTS_H_ |
OLD | NEW |