Index: src/ic.cc |
diff --git a/src/ic.cc b/src/ic.cc |
index b92f219dc4656ac818003028051abf7630548c41..08df2261fded944933ef595d3b325924cc1300ab 100644 |
--- a/src/ic.cc |
+++ b/src/ic.cc |
@@ -2329,10 +2329,7 @@ BinaryOpIC::State::State(ExtraICState extra_ic_state) { |
1 << FixedRightArgValueField::decode(extra_ic_state)); |
left_kind_ = LeftKindField::decode(extra_ic_state); |
if (fixed_right_arg_.has_value) { |
- // We have only 4 bits to encode the log2 of the fixed right arg, so the |
- // max value is 2^(2^4), which is always a SMI. |
- ASSERT(Smi::IsValid(fixed_right_arg_.value)); |
- right_kind_ = SMI; |
+ right_kind_ = Smi::IsValid(fixed_right_arg_.value) ? SMI : INT32; |
} else { |
right_kind_ = RightKindField::decode(extra_ic_state); |
} |
@@ -2585,17 +2582,6 @@ void BinaryOpIC::State::GenerateAheadOfTime( |
} |
-Handle<Type> BinaryOpIC::State::GetRightType(Isolate* isolate) const { |
- if (fixed_right_arg_.has_value) { |
- Handle<Smi> value = handle(Smi::FromInt(fixed_right_arg_.value), isolate); |
- Handle<Type> type = handle(Type::Constant(value, isolate), isolate); |
- ASSERT(type->Is(KindToType(right_kind_, isolate))); |
- return type; |
- } |
- return KindToType(right_kind_, isolate); |
-} |
- |
- |
Handle<Type> BinaryOpIC::State::GetResultType(Isolate* isolate) const { |
Kind result_kind = result_kind_; |
if (HasSideEffects()) { |