Index: src/ic.cc |
diff --git a/src/ic.cc b/src/ic.cc |
index 50ff573efafe272bfc4ff1f9e465df391a35c75b..be362d2a4b90967be70fa4d46939123a37006be0 100644 |
--- a/src/ic.cc |
+++ b/src/ic.cc |
@@ -2347,8 +2347,10 @@ MaybeObject* BinaryOpIC::Transition(Handle<Object> left, Handle<Object> right) { |
Code::ExtraICState extra_ic_state = target()->extended_extra_ic_state(); |
BinaryOpStub stub(extra_ic_state); |
- bool smi_was_enabled = stub.GetLeftType(isolate())->Maybe(Type::Smi()) && |
- stub.GetRightType(isolate())->Maybe(Type::Smi()); |
+ Handle<Type> left_type = stub.GetLeftType(isolate()); |
+ Handle<Type> right_type = stub.GetRightType(isolate()); |
+ bool smi_was_enabled = left_type->Maybe(Type::Smi()) && |
+ right_type->Maybe(Type::Smi()); |
Maybe<Handle<Object> > result = stub.Result(left, right, isolate()); |
@@ -2380,8 +2382,10 @@ MaybeObject* BinaryOpIC::Transition(Handle<Object> left, Handle<Object> right) { |
Handle<Code> code = stub.GetCode(isolate()); |
set_target(*code); |
- bool enable_smi = stub.GetLeftType(isolate())->Maybe(Type::Smi()) && |
- stub.GetRightType(isolate())->Maybe(Type::Smi()); |
+ left_type = stub.GetLeftType(isolate()); |
+ right_type = stub.GetRightType(isolate()); |
+ bool enable_smi = left_type->Maybe(Type::Smi()) && |
+ right_type->Maybe(Type::Smi()); |
if (!smi_was_enabled && enable_smi) { |
PatchInlinedSmiCode(address(), ENABLE_INLINED_SMI_CHECK); |