summaryrefslogtreecommitdiff
path: root/src/lj_record.c
diff options
context:
space:
mode:
authorMike Pall <mike>2010-11-25 11:38:48 +0100
committerMike Pall <mike>2010-11-25 11:42:17 +0100
commit18fbf86c9e6cb370605087a163605ba53b140f47 (patch)
tree9db05276ab73084161dfae678dd497b028e4cc14 /src/lj_record.c
parent73384567962fa8ec7759dc460e1abbb1d388d77d (diff)
downloadluajit-18fbf86c9e6cb370605087a163605ba53b140f47.tar.gz
luajit-18fbf86c9e6cb370605087a163605ba53b140f47.tar.bz2
luajit-18fbf86c9e6cb370605087a163605ba53b140f47.zip
Improve unrolling heuristics for non-looping inner loops.
Diffstat (limited to 'src/lj_record.c')
-rw-r--r--src/lj_record.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index 58b02a43..621311c1 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -426,7 +426,8 @@ static int innerloopleft(jit_State *J, const BCIns *pc)
426 ptrdiff_t i; 426 ptrdiff_t i;
427 for (i = 0; i < PENALTY_SLOTS; i++) 427 for (i = 0; i < PENALTY_SLOTS; i++)
428 if (mref(J->penalty[i].pc, const BCIns) == pc) { 428 if (mref(J->penalty[i].pc, const BCIns) == pc) {
429 if (J->penalty[i].reason == LJ_TRERR_LLEAVE && 429 if ((J->penalty[i].reason == LJ_TRERR_LLEAVE ||
430 J->penalty[i].reason == LJ_TRERR_LINNER) &&
430 J->penalty[i].val >= 2*PENALTY_MIN) 431 J->penalty[i].val >= 2*PENALTY_MIN)
431 return 1; 432 return 1;
432 break; 433 break;