| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index d0664a1ff1d8a4cd15cd46532226fe7c66a3cb6b..ffdf4725578f88f5251d072d07094ca7ac004210 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -1068,11 +1068,19 @@ class FastNewObjectStub final : public PlatformCodeStub {
|
| // of the strict arguments object materialization code.
|
| class FastNewRestParameterStub final : public PlatformCodeStub {
|
| public:
|
| - explicit FastNewRestParameterStub(Isolate* isolate)
|
| - : PlatformCodeStub(isolate) {}
|
| + explicit FastNewRestParameterStub(Isolate* isolate,
|
| + bool skip_stub_frame = false)
|
| + : PlatformCodeStub(isolate) {
|
| + minor_key_ = SkipStubFrameBits::encode(skip_stub_frame);
|
| + }
|
|
|
| DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewRestParameter);
|
| DEFINE_PLATFORM_CODE_STUB(FastNewRestParameter, PlatformCodeStub);
|
| +
|
| + int skip_stub_frame() const { return SkipStubFrameBits::decode(minor_key_); }
|
| +
|
| + private:
|
| + class SkipStubFrameBits : public BitField<bool, 0, 1> {};
|
| };
|
|
|
|
|
| @@ -1081,11 +1089,19 @@ class FastNewRestParameterStub final : public PlatformCodeStub {
|
| // and easy as the current handwritten version.
|
| class FastNewSloppyArgumentsStub final : public PlatformCodeStub {
|
| public:
|
| - explicit FastNewSloppyArgumentsStub(Isolate* isolate)
|
| - : PlatformCodeStub(isolate) {}
|
| + explicit FastNewSloppyArgumentsStub(Isolate* isolate,
|
| + bool skip_stub_frame = false)
|
| + : PlatformCodeStub(isolate) {
|
| + minor_key_ = SkipStubFrameBits::encode(skip_stub_frame);
|
| + }
|
| +
|
| + int skip_stub_frame() const { return SkipStubFrameBits::decode(minor_key_); }
|
|
|
| DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewSloppyArguments);
|
| DEFINE_PLATFORM_CODE_STUB(FastNewSloppyArguments, PlatformCodeStub);
|
| +
|
| + private:
|
| + class SkipStubFrameBits : public BitField<bool, 0, 1> {};
|
| };
|
|
|
|
|
| @@ -1094,11 +1110,19 @@ class FastNewSloppyArgumentsStub final : public PlatformCodeStub {
|
| // and easy as the current handwritten version.
|
| class FastNewStrictArgumentsStub final : public PlatformCodeStub {
|
| public:
|
| - explicit FastNewStrictArgumentsStub(Isolate* isolate)
|
| - : PlatformCodeStub(isolate) {}
|
| + explicit FastNewStrictArgumentsStub(Isolate* isolate,
|
| + bool skip_stub_frame = false)
|
| + : PlatformCodeStub(isolate) {
|
| + minor_key_ = SkipStubFrameBits::encode(skip_stub_frame);
|
| + }
|
|
|
| DEFINE_CALL_INTERFACE_DESCRIPTOR(FastNewStrictArguments);
|
| DEFINE_PLATFORM_CODE_STUB(FastNewStrictArguments, PlatformCodeStub);
|
| +
|
| + int skip_stub_frame() const { return SkipStubFrameBits::decode(minor_key_); }
|
| +
|
| + private:
|
| + class SkipStubFrameBits : public BitField<bool, 0, 1> {};
|
| };
|
|
|
|
|
|
|