| Index: src/globals.h
|
| diff --git a/src/globals.h b/src/globals.h
|
| index c6ba010fc5ff0851e0de43e0776e59e912b38ca3..f39575ee4b00d0ef689b985e19129e2489783110 100644
|
| --- a/src/globals.h
|
| +++ b/src/globals.h
|
| @@ -771,12 +771,15 @@ enum MinusZeroMode {
|
| enum Signedness { kSigned, kUnsigned };
|
|
|
|
|
| +// TODO(arv): We have 7 options so this will fit in 3 bits instead of 5.
|
| enum FunctionKind {
|
| kNormalFunction = 0,
|
| kArrowFunction = 1,
|
| kGeneratorFunction = 2,
|
| kConciseMethod = 4,
|
| - kConciseGeneratorMethod = kGeneratorFunction | kConciseMethod
|
| + kConciseGeneratorMethod = kGeneratorFunction | kConciseMethod,
|
| + kDefaultConstructor = 8,
|
| + kDefaultConstructorCallSuper = 16
|
| };
|
|
|
|
|
| @@ -785,7 +788,9 @@ inline bool IsValidFunctionKind(FunctionKind kind) {
|
| kind == FunctionKind::kArrowFunction ||
|
| kind == FunctionKind::kGeneratorFunction ||
|
| kind == FunctionKind::kConciseMethod ||
|
| - kind == FunctionKind::kConciseGeneratorMethod;
|
| + kind == FunctionKind::kConciseGeneratorMethod ||
|
| + kind == FunctionKind::kDefaultConstructor ||
|
| + kind == FunctionKind::kDefaultConstructorCallSuper;
|
| }
|
|
|
|
|
| @@ -805,6 +810,18 @@ inline bool IsConciseMethod(FunctionKind kind) {
|
| DCHECK(IsValidFunctionKind(kind));
|
| return kind & FunctionKind::kConciseMethod;
|
| }
|
| +
|
| +
|
| +inline bool IsDefaultConstructor(FunctionKind kind) {
|
| + DCHECK(IsValidFunctionKind(kind));
|
| + return kind & FunctionKind::kDefaultConstructor;
|
| +}
|
| +
|
| +
|
| +inline bool IsDefaultConstructorCallSuper(FunctionKind kind) {
|
| + DCHECK(IsValidFunctionKind(kind));
|
| + return kind & FunctionKind::kDefaultConstructorCallSuper;
|
| +}
|
| } } // namespace v8::internal
|
|
|
| namespace i = v8::internal;
|
|
|