]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Improve unrolling heuristics for non-looping inner loops.
authorMike Pall <mike>
Thu, 25 Nov 2010 10:38:48 +0000 (11:38 +0100)
committerMike Pall <mike>
Thu, 25 Nov 2010 10:42:17 +0000 (11:42 +0100)
src/lj_record.c

index 58b02a43cca76ebf581972a34fbd43af000a1ac6..621311c1be8e986eaef2e7ee0e7f7c6e8719f9bd 100644 (file)
@@ -426,7 +426,8 @@ static int innerloopleft(jit_State *J, const BCIns *pc)
   ptrdiff_t i;
   for (i = 0; i < PENALTY_SLOTS; i++)
     if (mref(J->penalty[i].pc, const BCIns) == pc) {
-      if (J->penalty[i].reason == LJ_TRERR_LLEAVE &&
+      if ((J->penalty[i].reason == LJ_TRERR_LLEAVE ||
+          J->penalty[i].reason == LJ_TRERR_LINNER) &&
          J->penalty[i].val >= 2*PENALTY_MIN)
        return 1;
       break;