Index: runtime/vm/intermediate_language_arm.cc |
=================================================================== |
--- runtime/vm/intermediate_language_arm.cc (revision 32457) |
+++ runtime/vm/intermediate_language_arm.cc (working copy) |
@@ -4546,9 +4546,10 @@ |
void CheckClassInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
+ const DeoptReasonId deopt_reason = |
+ licm_hoisted_ ? kDeoptHoistedCheckClass : kDeoptCheckClass; |
if (IsNullCheck()) { |
- Label* deopt = compiler->AddDeoptStub(deopt_id(), |
- kDeoptCheckClass); |
+ Label* deopt = compiler->AddDeoptStub(deopt_id(), deopt_reason); |
__ CompareImmediate(locs()->in(0).reg(), |
reinterpret_cast<intptr_t>(Object::null())); |
__ b(deopt, EQ); |
@@ -4559,8 +4560,7 @@ |
(unary_checks().NumberOfChecks() > 1)); |
Register value = locs()->in(0).reg(); |
Register temp = locs()->temp(0).reg(); |
- Label* deopt = compiler->AddDeoptStub(deopt_id(), |
- kDeoptCheckClass); |
+ Label* deopt = compiler->AddDeoptStub(deopt_id(), deopt_reason); |
Label is_ok; |
intptr_t cix = 0; |
if (unary_checks().GetReceiverClassIdAt(cix) == kSmiCid) { |