| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index a5be52966a0d26d27650175335e141a63d89baba..626e14e08d4de951aa4bc837172b002b116aa3ba 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -551,21 +551,27 @@ class NumberToStringStub FINAL : public HydrogenCodeStub {
|
| class FastNewClosureStub : public HydrogenCodeStub {
|
| public:
|
| FastNewClosureStub(Isolate* isolate, StrictMode strict_mode,
|
| - bool is_generator)
|
| + FunctionKind kind)
|
| : HydrogenCodeStub(isolate) {
|
| + DCHECK(IsValidFunctionKind(kind));
|
| set_sub_minor_key(StrictModeBits::encode(strict_mode) |
|
| - IsGeneratorBits::encode(is_generator));
|
| + FunctionKindBits::encode(kind));
|
| }
|
|
|
| StrictMode strict_mode() const {
|
| return StrictModeBits::decode(sub_minor_key());
|
| }
|
|
|
| - bool is_generator() const { return IsGeneratorBits::decode(sub_minor_key()); }
|
| + FunctionKind kind() const {
|
| + return FunctionKindBits::decode(sub_minor_key());
|
| + }
|
| + bool is_arrow() const { return IsArrowFunction(kind()); }
|
| + bool is_generator() const { return IsGeneratorFunction(kind()); }
|
| + bool is_concise_method() const { return IsConciseMethod(kind()); }
|
|
|
| private:
|
| class StrictModeBits : public BitField<StrictMode, 0, 1> {};
|
| - class IsGeneratorBits : public BitField<bool, 1, 1> {};
|
| + class FunctionKindBits : public BitField<FunctionKind, 1, 3> {};
|
|
|
| DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewClosure);
|
| DEFINE_HYDROGEN_CODE_STUB(FastNewClosure, HydrogenCodeStub);
|
|
|