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); |