| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index f5f8bd29393d8b964a2f43d20bd5887448e5682c..2d7ace58dab57775e343909e41400901341e9a0a 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -1824,9 +1824,11 @@ std::ostream& operator<<(std::ostream& os, const CompareNilICStub::State& s);
|
| class CEntryStub : public PlatformCodeStub {
|
| public:
|
| CEntryStub(Isolate* isolate, int result_size,
|
| - SaveFPRegsMode save_doubles = kDontSaveFPRegs)
|
| + SaveFPRegsMode save_doubles = kDontSaveFPRegs,
|
| + ArgvMode argv_mode = kArgvOnStack)
|
| : PlatformCodeStub(isolate) {
|
| - minor_key_ = SaveDoublesBits::encode(save_doubles == kSaveFPRegs);
|
| + minor_key_ = SaveDoublesBits::encode(save_doubles == kSaveFPRegs) |
|
| + ArgvMode::encode(argv_mode == kArgvInRegister);
|
| DCHECK(result_size == 1 || result_size == 2);
|
| #if _WIN64 || V8_TARGET_ARCH_PPC
|
| minor_key_ = ResultSizeBits::update(minor_key_, result_size);
|
| @@ -1841,6 +1843,7 @@ class CEntryStub : public PlatformCodeStub {
|
|
|
| private:
|
| bool save_doubles() const { return SaveDoublesBits::decode(minor_key_); }
|
| + bool argv_in_register() const { return ArgvMode::decode(minor_key_); }
|
| #if _WIN64 || V8_TARGET_ARCH_PPC
|
| int result_size() const { return ResultSizeBits::decode(minor_key_); }
|
| #endif // _WIN64
|
| @@ -1848,7 +1851,8 @@ class CEntryStub : public PlatformCodeStub {
|
| bool NeedsImmovableCode() override;
|
|
|
| class SaveDoublesBits : public BitField<bool, 0, 1> {};
|
| - class ResultSizeBits : public BitField<int, 1, 3> {};
|
| + class ArgvMode : public BitField<bool, 1, 1> {};
|
| + class ResultSizeBits : public BitField<int, 2, 3> {};
|
|
|
| DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR();
|
| DEFINE_PLATFORM_CODE_STUB(CEntry, PlatformCodeStub);
|
|
|