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 | 9 |
10 #include "src/assert-scope.h" | 10 #include "src/assert-scope.h" |
(...skipping 6798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6809 // the function through program execution but through other means (e.g. heap | 6809 // the function through program execution but through other means (e.g. heap |
6810 // iteration by the debugger). | 6810 // iteration by the debugger). |
6811 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation_without_context) | 6811 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation_without_context) |
6812 | 6812 |
6813 // Indicates whether optimizations have been disabled for this | 6813 // Indicates whether optimizations have been disabled for this |
6814 // shared function info. If a function is repeatedly optimized or if | 6814 // shared function info. If a function is repeatedly optimized or if |
6815 // we cannot optimize the function we disable optimization to avoid | 6815 // we cannot optimize the function we disable optimization to avoid |
6816 // spending time attempting to optimize it again. | 6816 // spending time attempting to optimize it again. |
6817 DECL_BOOLEAN_ACCESSORS(optimization_disabled) | 6817 DECL_BOOLEAN_ACCESSORS(optimization_disabled) |
6818 | 6818 |
| 6819 DECL_BOOLEAN_ACCESSORS(within_module) |
| 6820 |
6819 // Indicates the language mode. | 6821 // Indicates the language mode. |
6820 inline LanguageMode language_mode(); | 6822 inline LanguageMode language_mode(); |
6821 inline void set_language_mode(LanguageMode language_mode); | 6823 inline void set_language_mode(LanguageMode language_mode); |
6822 | 6824 |
6823 // False if the function definitely does not allocate an arguments object. | 6825 // False if the function definitely does not allocate an arguments object. |
6824 DECL_BOOLEAN_ACCESSORS(uses_arguments) | 6826 DECL_BOOLEAN_ACCESSORS(uses_arguments) |
6825 | 6827 |
6826 // Indicates that this function uses a super property (or an eval that may | 6828 // Indicates that this function uses a super property (or an eval that may |
6827 // use a super property). | 6829 // use a super property). |
6828 // This is needed to set up the [[HomeObject]] on the function instance. | 6830 // This is needed to set up the [[HomeObject]] on the function instance. |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7163 kIsDefaultConstructor, | 7165 kIsDefaultConstructor, |
7164 kIsSubclassConstructor, | 7166 kIsSubclassConstructor, |
7165 kIsBaseConstructor, | 7167 kIsBaseConstructor, |
7166 kIsGetterFunction, | 7168 kIsGetterFunction, |
7167 kIsSetterFunction, | 7169 kIsSetterFunction, |
7168 // byte 3 | 7170 // byte 3 |
7169 kIsAsyncFunction, | 7171 kIsAsyncFunction, |
7170 kDeserialized, | 7172 kDeserialized, |
7171 kIsDeclaration, | 7173 kIsDeclaration, |
7172 kCompilerHintsCount, // Pseudo entry | 7174 kCompilerHintsCount, // Pseudo entry |
| 7175 kWithinModule, |
7173 }; | 7176 }; |
7174 // Add hints for other modes when they're added. | 7177 // Add hints for other modes when they're added. |
7175 STATIC_ASSERT(LANGUAGE_END == 3); | 7178 STATIC_ASSERT(LANGUAGE_END == 3); |
7176 // kFunctionKind has to be byte-aligned | 7179 // kFunctionKind has to be byte-aligned |
7177 STATIC_ASSERT((kFunctionKind % kBitsPerByte) == 0); | 7180 STATIC_ASSERT((kFunctionKind % kBitsPerByte) == 0); |
7178 // Make sure that FunctionKind and byte 2 are in sync: | 7181 // Make sure that FunctionKind and byte 2 are in sync: |
7179 #define ASSERT_FUNCTION_KIND_ORDER(functionKind, compilerFunctionKind) \ | 7182 #define ASSERT_FUNCTION_KIND_ORDER(functionKind, compilerFunctionKind) \ |
7180 STATIC_ASSERT(FunctionKind::functionKind == \ | 7183 STATIC_ASSERT(FunctionKind::functionKind == \ |
7181 1 << (compilerFunctionKind - kFunctionKind)) | 7184 1 << (compilerFunctionKind - kFunctionKind)) |
7182 ASSERT_FUNCTION_KIND_ORDER(kArrowFunction, kIsArrow); | 7185 ASSERT_FUNCTION_KIND_ORDER(kArrowFunction, kIsArrow); |
(...skipping 3568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10751 } | 10754 } |
10752 return value; | 10755 return value; |
10753 } | 10756 } |
10754 }; | 10757 }; |
10755 | 10758 |
10756 | 10759 |
10757 } // NOLINT, false-positive due to second-order macros. | 10760 } // NOLINT, false-positive due to second-order macros. |
10758 } // NOLINT, false-positive due to second-order macros. | 10761 } // NOLINT, false-positive due to second-order macros. |
10759 | 10762 |
10760 #endif // V8_OBJECTS_H_ | 10763 #endif // V8_OBJECTS_H_ |
OLD | NEW |