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