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

Unified Diff: src/objects.h

Issue 2390043003: Remove unnecessary duplication of FunctionKind enums in CompilerHints (Closed)
Patch Set: Fix arm64 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/code-stubs.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index fc7dcff4549b608c8cadf09b14d0630c99d4ef60..9de5acb8b04e626d4423a07f384aa1443dc2564a 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -7704,18 +7704,9 @@ class SharedFunctionInfo: public HeapObject {
kDontFlush,
// byte 2
kFunctionKind,
- kIsArrow = kFunctionKind,
- kIsGenerator,
- kIsConciseMethod,
- kIsDefaultConstructor,
- kIsSubclassConstructor,
- kIsBaseConstructor,
- kIsGetterFunction,
- kIsSetterFunction,
+ // rest of byte 2 and first two bits of byte 3 are used by FunctionKind
// byte 3
- kIsAsyncFunction,
- kIsModule,
- kDeserialized,
+ kDeserialized = kFunctionKind + 10,
kIsDeclaration,
kIsAsmWasmBroken,
kRequiresClassFieldInit,
@@ -7724,23 +7715,8 @@ class SharedFunctionInfo: public HeapObject {
};
// kFunctionKind has to be byte-aligned
STATIC_ASSERT((kFunctionKind % kBitsPerByte) == 0);
-// Make sure that FunctionKind and byte 2 are in sync:
-#define ASSERT_FUNCTION_KIND_ORDER(functionKind, compilerFunctionKind) \
- STATIC_ASSERT(FunctionKind::functionKind == \
- 1 << (compilerFunctionKind - kFunctionKind))
- ASSERT_FUNCTION_KIND_ORDER(kArrowFunction, kIsArrow);
- ASSERT_FUNCTION_KIND_ORDER(kGeneratorFunction, kIsGenerator);
- ASSERT_FUNCTION_KIND_ORDER(kConciseMethod, kIsConciseMethod);
- ASSERT_FUNCTION_KIND_ORDER(kDefaultConstructor, kIsDefaultConstructor);
- ASSERT_FUNCTION_KIND_ORDER(kSubclassConstructor, kIsSubclassConstructor);
- ASSERT_FUNCTION_KIND_ORDER(kBaseConstructor, kIsBaseConstructor);
- ASSERT_FUNCTION_KIND_ORDER(kGetterFunction, kIsGetterFunction);
- ASSERT_FUNCTION_KIND_ORDER(kSetterFunction, kIsSetterFunction);
- ASSERT_FUNCTION_KIND_ORDER(kAsyncFunction, kIsAsyncFunction);
- ASSERT_FUNCTION_KIND_ORDER(kModule, kIsModule);
-#undef ASSERT_FUNCTION_KIND_ORDER
-
- class FunctionKindBits : public BitField<FunctionKind, kIsArrow, 10> {};
+
+ class FunctionKindBits : public BitField<FunctionKind, kFunctionKind, 10> {};
class DeoptCountBits : public BitField<int, 0, 4> {};
class OptReenableTriesBits : public BitField<int, 4, 18> {};
@@ -7772,21 +7748,10 @@ class SharedFunctionInfo: public HeapObject {
static const int kHasDuplicateParametersBit =
kHasDuplicateParameters + kCompilerHintsSmiTagSize;
- static const int kIsArrowBit = kIsArrow + kCompilerHintsSmiTagSize;
- static const int kIsGeneratorBit = kIsGenerator + kCompilerHintsSmiTagSize;
- static const int kIsConciseMethodBit =
- kIsConciseMethod + kCompilerHintsSmiTagSize;
- static const int kIsAsyncFunctionBit =
- kIsAsyncFunction + kCompilerHintsSmiTagSize;
-
- static const int kAccessorFunctionBits =
- FunctionKind::kAccessorFunction
- << (kFunctionKind + kCompilerHintsSmiTagSize);
- static const int kClassConstructorBits =
- FunctionKind::kClassConstructor
- << (kFunctionKind + kCompilerHintsSmiTagSize);
- static const int kFunctionKindMaskBits = FunctionKindBits::kMask
- << kCompilerHintsSmiTagSize;
+ static const int kFunctionKindShift =
+ kFunctionKind + kCompilerHintsSmiTagSize;
+ static const int kAllFunctionKindBitsMask = FunctionKindBits::kMask
+ << kCompilerHintsSmiTagSize;
// Constants for optimizing codegen for strict mode function and
// native tests.
« no previous file with comments | « src/code-stubs.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698