OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 4258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4269 : public BitField<VariableAllocationInfo, ReceiverVariableField::kNext, | 4269 : public BitField<VariableAllocationInfo, ReceiverVariableField::kNext, |
4270 2> {}; | 4270 2> {}; |
4271 class FunctionVariableMode | 4271 class FunctionVariableMode |
4272 : public BitField<VariableMode, FunctionVariableField::kNext, 3> {}; | 4272 : public BitField<VariableMode, FunctionVariableField::kNext, 3> {}; |
4273 class AsmModuleField : public BitField<bool, FunctionVariableMode::kNext, 1> { | 4273 class AsmModuleField : public BitField<bool, FunctionVariableMode::kNext, 1> { |
4274 }; | 4274 }; |
4275 class AsmFunctionField : public BitField<bool, AsmModuleField::kNext, 1> {}; | 4275 class AsmFunctionField : public BitField<bool, AsmModuleField::kNext, 1> {}; |
4276 class HasSimpleParametersField | 4276 class HasSimpleParametersField |
4277 : public BitField<bool, AsmFunctionField::kNext, 1> {}; | 4277 : public BitField<bool, AsmFunctionField::kNext, 1> {}; |
4278 class FunctionKindField | 4278 class FunctionKindField |
4279 : public BitField<FunctionKind, HasSimpleParametersField::kNext, 8> {}; | 4279 : public BitField<FunctionKind, HasSimpleParametersField::kNext, 9> {}; |
4280 | 4280 |
4281 // BitFields representing the encoded information for context locals in the | 4281 // BitFields representing the encoded information for context locals in the |
4282 // ContextLocalInfoEntries part. | 4282 // ContextLocalInfoEntries part. |
4283 class ContextLocalMode: public BitField<VariableMode, 0, 3> {}; | 4283 class ContextLocalMode: public BitField<VariableMode, 0, 3> {}; |
4284 class ContextLocalInitFlag: public BitField<InitializationFlag, 3, 1> {}; | 4284 class ContextLocalInitFlag: public BitField<InitializationFlag, 3, 1> {}; |
4285 class ContextLocalMaybeAssignedFlag | 4285 class ContextLocalMaybeAssignedFlag |
4286 : public BitField<MaybeAssignedFlag, 4, 1> {}; | 4286 : public BitField<MaybeAssignedFlag, 4, 1> {}; |
4287 | 4287 |
4288 friend class ScopeIterator; | 4288 friend class ScopeIterator; |
4289 }; | 4289 }; |
(...skipping 2454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6744 | 6744 |
6745 // Indicates that code for this function cannot be compiled with Crankshaft. | 6745 // Indicates that code for this function cannot be compiled with Crankshaft. |
6746 DECL_BOOLEAN_ACCESSORS(dont_crankshaft) | 6746 DECL_BOOLEAN_ACCESSORS(dont_crankshaft) |
6747 | 6747 |
6748 // Indicates that code for this function cannot be flushed. | 6748 // Indicates that code for this function cannot be flushed. |
6749 DECL_BOOLEAN_ACCESSORS(dont_flush) | 6749 DECL_BOOLEAN_ACCESSORS(dont_flush) |
6750 | 6750 |
6751 // Indicates that this function is a generator. | 6751 // Indicates that this function is a generator. |
6752 DECL_BOOLEAN_ACCESSORS(is_generator) | 6752 DECL_BOOLEAN_ACCESSORS(is_generator) |
6753 | 6753 |
| 6754 // Indicates that this function is an async function. |
| 6755 DECL_BOOLEAN_ACCESSORS(is_async) |
| 6756 |
6754 // Indicates that this function is an arrow function. | 6757 // Indicates that this function is an arrow function. |
6755 DECL_BOOLEAN_ACCESSORS(is_arrow) | 6758 DECL_BOOLEAN_ACCESSORS(is_arrow) |
6756 | 6759 |
6757 // Indicates that this function is a concise method. | 6760 // Indicates that this function is a concise method. |
6758 DECL_BOOLEAN_ACCESSORS(is_concise_method) | 6761 DECL_BOOLEAN_ACCESSORS(is_concise_method) |
6759 | 6762 |
6760 // Indicates that this function is an accessor (getter or setter). | 6763 // Indicates that this function is an accessor (getter or setter). |
6761 DECL_BOOLEAN_ACCESSORS(is_accessor_function) | 6764 DECL_BOOLEAN_ACCESSORS(is_accessor_function) |
6762 | 6765 |
6763 // Indicates that this function is a default constructor. | 6766 // Indicates that this function is a default constructor. |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7028 kNeedsHomeObject, | 7031 kNeedsHomeObject, |
7029 kHasDuplicateParameters, | 7032 kHasDuplicateParameters, |
7030 kForceInline, | 7033 kForceInline, |
7031 kBoundFunction, | 7034 kBoundFunction, |
7032 kIsAnonymous, | 7035 kIsAnonymous, |
7033 kNameShouldPrintAsAnonymous, | 7036 kNameShouldPrintAsAnonymous, |
7034 kIsFunction, | 7037 kIsFunction, |
7035 kDontCrankshaft, | 7038 kDontCrankshaft, |
7036 kDontFlush, | 7039 kDontFlush, |
7037 kIsArrow, | 7040 kIsArrow, |
| 7041 kIsAsync, |
7038 kIsGenerator, | 7042 kIsGenerator, |
7039 kIsConciseMethod, | 7043 kIsConciseMethod, |
7040 kIsAccessorFunction, | 7044 kIsAccessorFunction, |
7041 kIsDefaultConstructor, | 7045 kIsDefaultConstructor, |
7042 kIsSubclassConstructor, | 7046 kIsSubclassConstructor, |
7043 kIsBaseConstructor, | 7047 kIsBaseConstructor, |
7044 kInClassLiteral, | 7048 kInClassLiteral, |
7045 kIsAsmFunction, | 7049 kIsAsmFunction, |
7046 kDeserialized, | 7050 kDeserialized, |
7047 kNeverCompiled, | 7051 kNeverCompiled, |
7048 kCompilerHintsCount // Pseudo entry | 7052 kCompilerHintsCount // Pseudo entry |
7049 }; | 7053 }; |
7050 // Add hints for other modes when they're added. | 7054 // Add hints for other modes when they're added. |
7051 STATIC_ASSERT(LANGUAGE_END == 3); | 7055 STATIC_ASSERT(LANGUAGE_END == 3); |
7052 | 7056 |
7053 class FunctionKindBits : public BitField<FunctionKind, kIsArrow, 8> {}; | 7057 class FunctionKindBits : public BitField<FunctionKind, kIsArrow, 9> {}; |
7054 | 7058 |
7055 class DeoptCountBits : public BitField<int, 0, 4> {}; | 7059 class DeoptCountBits : public BitField<int, 0, 4> {}; |
7056 class OptReenableTriesBits : public BitField<int, 4, 18> {}; | 7060 class OptReenableTriesBits : public BitField<int, 4, 18> {}; |
7057 class ICAgeBits : public BitField<int, 22, 8> {}; | 7061 class ICAgeBits : public BitField<int, 22, 8> {}; |
7058 | 7062 |
7059 class OptCountBits : public BitField<int, 0, 22> {}; | 7063 class OptCountBits : public BitField<int, 0, 22> {}; |
7060 class DisabledOptimizationReasonBits : public BitField<int, 22, 8> {}; | 7064 class DisabledOptimizationReasonBits : public BitField<int, 22, 8> {}; |
7061 | 7065 |
7062 private: | 7066 private: |
7063 #if V8_HOST_ARCH_32_BIT | 7067 #if V8_HOST_ARCH_32_BIT |
(...skipping 3772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10836 // (elements + properties) in the current level. | 10840 // (elements + properties) in the current level. |
10837 int levelLength_; | 10841 int levelLength_; |
10838 | 10842 |
10839 DISALLOW_COPY_AND_ASSIGN(KeyAccumulator); | 10843 DISALLOW_COPY_AND_ASSIGN(KeyAccumulator); |
10840 }; | 10844 }; |
10841 | 10845 |
10842 } // NOLINT, false-positive due to second-order macros. | 10846 } // NOLINT, false-positive due to second-order macros. |
10843 } // NOLINT, false-positive due to second-order macros. | 10847 } // NOLINT, false-positive due to second-order macros. |
10844 | 10848 |
10845 #endif // V8_OBJECTS_H_ | 10849 #endif // V8_OBJECTS_H_ |
OLD | NEW |