| Index: runtime/vm/intermediate_language_x64.cc
|
| ===================================================================
|
| --- runtime/vm/intermediate_language_x64.cc (revision 32457)
|
| +++ runtime/vm/intermediate_language_x64.cc (working copy)
|
| @@ -4587,9 +4587,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);
|
| __ CompareObject(locs()->in(0).reg(),
|
| Object::null_object(), PP);
|
| __ j(EQUAL, deopt);
|
| @@ -4600,8 +4601,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) {
|
|
|