| Index: src/ic/ic-state.h
|
| diff --git a/src/ic/ic-state.h b/src/ic/ic-state.h
|
| index e1d33f867855b108153261e2e05236e08dcf86e3..bd8df781abbc18a93379360619a2a96a9c03358e 100644
|
| --- a/src/ic/ic-state.h
|
| +++ b/src/ic/ic-state.h
|
| @@ -26,10 +26,11 @@ class CallICState final BASE_EMBEDDED {
|
| explicit CallICState(ExtraICState extra_ic_state)
|
| : bit_field_(extra_ic_state) {}
|
| CallICState(int argc, ConvertReceiverMode convert_mode,
|
| - TailCallMode tail_call_mode)
|
| + TailCallMode tail_call_mode, bool is_argc_in_reg = false)
|
| : bit_field_(ArgcBits::encode(argc) |
|
| ConvertModeBits::encode(convert_mode) |
|
| - TailCallModeBits::encode(tail_call_mode)) {}
|
| + TailCallModeBits::encode(tail_call_mode) |
|
| + ArgcInRegBits::encode(is_argc_in_reg)) {}
|
|
|
| ExtraICState GetExtraICState() const { return bit_field_; }
|
|
|
| @@ -44,11 +45,13 @@ class CallICState final BASE_EMBEDDED {
|
| TailCallMode tail_call_mode() const {
|
| return TailCallModeBits::decode(bit_field_);
|
| }
|
| + bool argc_in_register() { return ArgcInRegBits::decode(bit_field_); }
|
|
|
| private:
|
| typedef BitField<int, 0, Code::kArgumentsBits> ArgcBits;
|
| typedef BitField<ConvertReceiverMode, ArgcBits::kNext, 2> ConvertModeBits;
|
| typedef BitField<TailCallMode, ConvertModeBits::kNext, 1> TailCallModeBits;
|
| + typedef BitField<bool, TailCallModeBits::kNext, 1> ArgcInRegBits;
|
|
|
| int const bit_field_;
|
| };
|
|
|