Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/objects.h

Issue 2375793002: Reland: [modules] Properly initialize declared variables. (Closed)
Patch Set: Update CompilerHints. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/interpreter/bytecode-generator.cc ('k') | src/objects.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 4524 matching lines...) Expand 10 before | Expand all | Expand 10 after
4535 class HasNewTargetField 4535 class HasNewTargetField
4536 : public BitField<bool, ReceiverVariableField::kNext, 1> {}; 4536 : public BitField<bool, ReceiverVariableField::kNext, 1> {};
4537 class FunctionVariableField 4537 class FunctionVariableField
4538 : public BitField<VariableAllocationInfo, HasNewTargetField::kNext, 2> {}; 4538 : public BitField<VariableAllocationInfo, HasNewTargetField::kNext, 2> {};
4539 class AsmModuleField 4539 class AsmModuleField
4540 : public BitField<bool, FunctionVariableField::kNext, 1> {}; 4540 : public BitField<bool, FunctionVariableField::kNext, 1> {};
4541 class AsmFunctionField : public BitField<bool, AsmModuleField::kNext, 1> {}; 4541 class AsmFunctionField : public BitField<bool, AsmModuleField::kNext, 1> {};
4542 class HasSimpleParametersField 4542 class HasSimpleParametersField
4543 : public BitField<bool, AsmFunctionField::kNext, 1> {}; 4543 : public BitField<bool, AsmFunctionField::kNext, 1> {};
4544 class FunctionKindField 4544 class FunctionKindField
4545 : public BitField<FunctionKind, HasSimpleParametersField::kNext, 9> {}; 4545 : public BitField<FunctionKind, HasSimpleParametersField::kNext, 10> {};
4546 class HasOuterScopeInfoField 4546 class HasOuterScopeInfoField
4547 : public BitField<bool, FunctionKindField::kNext, 1> {}; 4547 : public BitField<bool, FunctionKindField::kNext, 1> {};
4548 class IsDebugEvaluateScopeField 4548 class IsDebugEvaluateScopeField
4549 : public BitField<bool, HasOuterScopeInfoField::kNext, 1> {}; 4549 : public BitField<bool, HasOuterScopeInfoField::kNext, 1> {};
4550 4550
4551 // Properties of variables. 4551 // Properties of variables.
4552 class VariableModeField : public BitField<VariableMode, 0, 3> {}; 4552 class VariableModeField : public BitField<VariableMode, 0, 3> {};
4553 class InitFlagField : public BitField<InitializationFlag, 3, 1> {}; 4553 class InitFlagField : public BitField<InitializationFlag, 3, 1> {};
4554 class MaybeAssignedFlagField : public BitField<MaybeAssignedFlag, 4, 1> {}; 4554 class MaybeAssignedFlagField : public BitField<MaybeAssignedFlag, 4, 1> {};
4555 4555
(...skipping 3144 matching lines...) Expand 10 before | Expand all | Expand 10 after
7700 kIsArrow = kFunctionKind, 7700 kIsArrow = kFunctionKind,
7701 kIsGenerator, 7701 kIsGenerator,
7702 kIsConciseMethod, 7702 kIsConciseMethod,
7703 kIsDefaultConstructor, 7703 kIsDefaultConstructor,
7704 kIsSubclassConstructor, 7704 kIsSubclassConstructor,
7705 kIsBaseConstructor, 7705 kIsBaseConstructor,
7706 kIsGetterFunction, 7706 kIsGetterFunction,
7707 kIsSetterFunction, 7707 kIsSetterFunction,
7708 // byte 3 7708 // byte 3
7709 kIsAsyncFunction, 7709 kIsAsyncFunction,
7710 kIsModule,
7710 kDeserialized, 7711 kDeserialized,
7711 kIsDeclaration, 7712 kIsDeclaration,
7712 kIsAsmWasmBroken, 7713 kIsAsmWasmBroken,
7713 kRequiresClassFieldInit, 7714 kRequiresClassFieldInit,
7714 kIsClassFieldInitializer, 7715 kIsClassFieldInitializer,
7715 kCompilerHintsCount, // Pseudo entry 7716 kCompilerHintsCount, // Pseudo entry
7716 }; 7717 };
7717 // kFunctionKind has to be byte-aligned 7718 // kFunctionKind has to be byte-aligned
7718 STATIC_ASSERT((kFunctionKind % kBitsPerByte) == 0); 7719 STATIC_ASSERT((kFunctionKind % kBitsPerByte) == 0);
7719 // Make sure that FunctionKind and byte 2 are in sync: 7720 // Make sure that FunctionKind and byte 2 are in sync:
7720 #define ASSERT_FUNCTION_KIND_ORDER(functionKind, compilerFunctionKind) \ 7721 #define ASSERT_FUNCTION_KIND_ORDER(functionKind, compilerFunctionKind) \
7721 STATIC_ASSERT(FunctionKind::functionKind == \ 7722 STATIC_ASSERT(FunctionKind::functionKind == \
7722 1 << (compilerFunctionKind - kFunctionKind)) 7723 1 << (compilerFunctionKind - kFunctionKind))
7723 ASSERT_FUNCTION_KIND_ORDER(kArrowFunction, kIsArrow); 7724 ASSERT_FUNCTION_KIND_ORDER(kArrowFunction, kIsArrow);
7724 ASSERT_FUNCTION_KIND_ORDER(kGeneratorFunction, kIsGenerator); 7725 ASSERT_FUNCTION_KIND_ORDER(kGeneratorFunction, kIsGenerator);
7725 ASSERT_FUNCTION_KIND_ORDER(kConciseMethod, kIsConciseMethod); 7726 ASSERT_FUNCTION_KIND_ORDER(kConciseMethod, kIsConciseMethod);
7726 ASSERT_FUNCTION_KIND_ORDER(kDefaultConstructor, kIsDefaultConstructor); 7727 ASSERT_FUNCTION_KIND_ORDER(kDefaultConstructor, kIsDefaultConstructor);
7727 ASSERT_FUNCTION_KIND_ORDER(kSubclassConstructor, kIsSubclassConstructor); 7728 ASSERT_FUNCTION_KIND_ORDER(kSubclassConstructor, kIsSubclassConstructor);
7728 ASSERT_FUNCTION_KIND_ORDER(kBaseConstructor, kIsBaseConstructor); 7729 ASSERT_FUNCTION_KIND_ORDER(kBaseConstructor, kIsBaseConstructor);
7729 ASSERT_FUNCTION_KIND_ORDER(kGetterFunction, kIsGetterFunction); 7730 ASSERT_FUNCTION_KIND_ORDER(kGetterFunction, kIsGetterFunction);
7730 ASSERT_FUNCTION_KIND_ORDER(kSetterFunction, kIsSetterFunction); 7731 ASSERT_FUNCTION_KIND_ORDER(kSetterFunction, kIsSetterFunction);
7732 ASSERT_FUNCTION_KIND_ORDER(kAsyncFunction, kIsAsyncFunction);
7733 ASSERT_FUNCTION_KIND_ORDER(kModule, kIsModule);
7731 #undef ASSERT_FUNCTION_KIND_ORDER 7734 #undef ASSERT_FUNCTION_KIND_ORDER
7732 7735
7733 class FunctionKindBits : public BitField<FunctionKind, kIsArrow, 9> {}; 7736 class FunctionKindBits : public BitField<FunctionKind, kIsArrow, 10> {};
7734 7737
7735 class DeoptCountBits : public BitField<int, 0, 4> {}; 7738 class DeoptCountBits : public BitField<int, 0, 4> {};
7736 class OptReenableTriesBits : public BitField<int, 4, 18> {}; 7739 class OptReenableTriesBits : public BitField<int, 4, 18> {};
7737 class ICAgeBits : public BitField<int, 22, 8> {}; 7740 class ICAgeBits : public BitField<int, 22, 8> {};
7738 7741
7739 class OptCountBits : public BitField<int, 0, 22> {}; 7742 class OptCountBits : public BitField<int, 0, 22> {};
7740 class DisabledOptimizationReasonBits : public BitField<int, 22, 8> {}; 7743 class DisabledOptimizationReasonBits : public BitField<int, 22, 8> {};
7741 7744
7742 private: 7745 private:
7743 #if V8_HOST_ARCH_32_BIT 7746 #if V8_HOST_ARCH_32_BIT
(...skipping 3682 matching lines...) Expand 10 before | Expand all | Expand 10 after
11426 } 11429 }
11427 return value; 11430 return value;
11428 } 11431 }
11429 }; 11432 };
11430 11433
11431 11434
11432 } // NOLINT, false-positive due to second-order macros. 11435 } // NOLINT, false-positive due to second-order macros.
11433 } // NOLINT, false-positive due to second-order macros. 11436 } // NOLINT, false-positive due to second-order macros.
11434 11437
11435 #endif // V8_OBJECTS_H_ 11438 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/interpreter/bytecode-generator.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698