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 4307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4318 enum FunctionVariableInfo { | 4318 enum FunctionVariableInfo { |
4319 NONE, // No function name present. | 4319 NONE, // No function name present. |
4320 STACK, // Function | 4320 STACK, // Function |
4321 CONTEXT, | 4321 CONTEXT, |
4322 UNUSED | 4322 UNUSED |
4323 }; | 4323 }; |
4324 | 4324 |
4325 // Properties of scopes. | 4325 // Properties of scopes. |
4326 class ScopeTypeField : public BitField<ScopeType, 0, 4> {}; | 4326 class ScopeTypeField : public BitField<ScopeType, 0, 4> {}; |
4327 class CallsEvalField : public BitField<bool, 4, 1> {}; | 4327 class CallsEvalField : public BitField<bool, 4, 1> {}; |
4328 STATIC_ASSERT(LANGUAGE_END == 2); | 4328 STATIC_ASSERT(LANGUAGE_END == 3); |
4329 class LanguageModeField : public BitField<LanguageMode, 5, 1> {}; | 4329 class LanguageModeField : public BitField<LanguageMode, 5, 2> {}; |
4330 class FunctionVariableField : public BitField<FunctionVariableInfo, 6, 2> {}; | 4330 class FunctionVariableField : public BitField<FunctionVariableInfo, 7, 2> {}; |
4331 class FunctionVariableMode : public BitField<VariableMode, 8, 3> {}; | 4331 class FunctionVariableMode : public BitField<VariableMode, 9, 3> {}; |
4332 class AsmModuleField : public BitField<bool, 11, 1> {}; | 4332 class AsmModuleField : public BitField<bool, 12, 1> {}; |
4333 class AsmFunctionField : public BitField<bool, 12, 1> {}; | 4333 class AsmFunctionField : public BitField<bool, 13, 1> {}; |
4334 | 4334 |
4335 // BitFields representing the encoded information for context locals in the | 4335 // BitFields representing the encoded information for context locals in the |
4336 // ContextLocalInfoEntries part. | 4336 // ContextLocalInfoEntries part. |
4337 class ContextLocalMode: public BitField<VariableMode, 0, 3> {}; | 4337 class ContextLocalMode: public BitField<VariableMode, 0, 3> {}; |
4338 class ContextLocalInitFlag: public BitField<InitializationFlag, 3, 1> {}; | 4338 class ContextLocalInitFlag: public BitField<InitializationFlag, 3, 1> {}; |
4339 class ContextLocalMaybeAssignedFlag | 4339 class ContextLocalMaybeAssignedFlag |
4340 : public BitField<MaybeAssignedFlag, 4, 1> {}; | 4340 : public BitField<MaybeAssignedFlag, 4, 1> {}; |
4341 }; | 4341 }; |
4342 | 4342 |
4343 | 4343 |
(...skipping 2830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7174 static const int kIsTopLevelBit = 1; | 7174 static const int kIsTopLevelBit = 1; |
7175 static const int kStartPositionShift = 2; | 7175 static const int kStartPositionShift = 2; |
7176 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); | 7176 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); |
7177 | 7177 |
7178 // Bit positions in compiler_hints. | 7178 // Bit positions in compiler_hints. |
7179 enum CompilerHints { | 7179 enum CompilerHints { |
7180 kAllowLazyCompilation, | 7180 kAllowLazyCompilation, |
7181 kAllowLazyCompilationWithoutContext, | 7181 kAllowLazyCompilationWithoutContext, |
7182 kOptimizationDisabled, | 7182 kOptimizationDisabled, |
7183 kStrictModeFunction, | 7183 kStrictModeFunction, |
| 7184 kStrongModeFunction, |
7184 kUsesArguments, | 7185 kUsesArguments, |
7185 kUsesSuperProperty, | 7186 kUsesSuperProperty, |
7186 kUsesSuperConstructorCall, | 7187 kUsesSuperConstructorCall, |
7187 kHasDuplicateParameters, | 7188 kHasDuplicateParameters, |
7188 kNative, | 7189 kNative, |
7189 kInlineBuiltin, | 7190 kInlineBuiltin, |
7190 kBoundFunction, | 7191 kBoundFunction, |
7191 kIsAnonymous, | 7192 kIsAnonymous, |
7192 kNameShouldPrintAsAnonymous, | 7193 kNameShouldPrintAsAnonymous, |
7193 kIsFunction, | 7194 kIsFunction, |
7194 kDontCache, | 7195 kDontCache, |
7195 kDontFlush, | 7196 kDontFlush, |
7196 kIsArrow, | 7197 kIsArrow, |
7197 kIsGenerator, | 7198 kIsGenerator, |
7198 kIsConciseMethod, | 7199 kIsConciseMethod, |
7199 kIsDefaultConstructor, | 7200 kIsDefaultConstructor, |
7200 kIsSubclassConstructor, | 7201 kIsSubclassConstructor, |
7201 kIsAsmFunction, | 7202 kIsAsmFunction, |
7202 kDeserialized, | 7203 kDeserialized, |
7203 kCompilerHintsCount // Pseudo entry | 7204 kCompilerHintsCount // Pseudo entry |
7204 }; | 7205 }; |
7205 // Add hints for other modes when they're added. | 7206 // Add hints for other modes when they're added. |
7206 STATIC_ASSERT(LANGUAGE_END == 2); | 7207 STATIC_ASSERT(LANGUAGE_END == 3); |
7207 | 7208 |
7208 class FunctionKindBits : public BitField<FunctionKind, kIsArrow, 5> {}; | 7209 class FunctionKindBits : public BitField<FunctionKind, kIsArrow, 5> {}; |
7209 | 7210 |
7210 class DeoptCountBits : public BitField<int, 0, 4> {}; | 7211 class DeoptCountBits : public BitField<int, 0, 4> {}; |
7211 class OptReenableTriesBits : public BitField<int, 4, 18> {}; | 7212 class OptReenableTriesBits : public BitField<int, 4, 18> {}; |
7212 class ICAgeBits : public BitField<int, 22, 8> {}; | 7213 class ICAgeBits : public BitField<int, 22, 8> {}; |
7213 | 7214 |
7214 class OptCountBits : public BitField<int, 0, 22> {}; | 7215 class OptCountBits : public BitField<int, 0, 22> {}; |
7215 class DisabledOptimizationReasonBits : public BitField<int, 22, 8> {}; | 7216 class DisabledOptimizationReasonBits : public BitField<int, 22, 8> {}; |
7216 | 7217 |
(...skipping 3740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10957 } else { | 10958 } else { |
10958 value &= ~(1 << bit_position); | 10959 value &= ~(1 << bit_position); |
10959 } | 10960 } |
10960 return value; | 10961 return value; |
10961 } | 10962 } |
10962 }; | 10963 }; |
10963 | 10964 |
10964 } } // namespace v8::internal | 10965 } } // namespace v8::internal |
10965 | 10966 |
10966 #endif // V8_OBJECTS_H_ | 10967 #endif // V8_OBJECTS_H_ |
OLD | NEW |