| Index: runtime/vm/intermediate_language_ia32.cc
|
| ===================================================================
|
| --- runtime/vm/intermediate_language_ia32.cc (revision 32457)
|
| +++ runtime/vm/intermediate_language_ia32.cc (working copy)
|
| @@ -4518,9 +4518,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);
|
| const Immediate& raw_null =
|
| Immediate(reinterpret_cast<intptr_t>(Object::null()));
|
| __ cmpl(locs()->in(0).reg(), raw_null);
|
| @@ -4532,8 +4533,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) {
|
|
|