| Index: src/code-stubs.h
|
| diff --git a/src/code-stubs.h b/src/code-stubs.h
|
| index 163fdd880862083f703c908e50695871c7589a17..81236acb5fecdcfa29e3d3d5fcff0e57bef9f70e 100644
|
| --- a/src/code-stubs.h
|
| +++ b/src/code-stubs.h
|
| @@ -1823,9 +1823,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);
|
| @@ -1840,6 +1842,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
|
| @@ -1847,7 +1850,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);
|
|
|