[JIT/x86] Fix LinearScan::allocateRegisters (#26649)
authorKonstantin Baladurin <k.baladurin@samsung.com>
Fri, 13 Sep 2019 17:28:08 +0000 (20:28 +0300)
committerGleb Balykov <g.balykov@samsung.com>
Wed, 25 Mar 2020 12:29:41 +0000 (15:29 +0300)
Check for `lvLRACandidate` instead of `!lvDoNotEnregister` when checking whether `this` may be enregistered and has an Interval.

src/jit/lsra.cpp

index 5002fdd..8f9bdd1 100644 (file)
@@ -5834,7 +5834,7 @@ void LinearScan::allocateRegisters()
     if (enregisterLocalVars && compiler->lvaKeepAliveAndReportThis())
     {
         LclVarDsc* thisVarDsc = compiler->lvaGetDesc(compiler->info.compThisArg);
-        if (!thisVarDsc->lvDoNotEnregister)
+        if (thisVarDsc->lvLRACandidate)
         {
             Interval* interval = getIntervalForLocalVar(thisVarDsc->lvVarIndex);
             if (interval->isSplit)