summaryrefslogtreecommitdiff
path: root/src/lj_tab.c
diff options
context:
space:
mode:
authorMike Pall <mike>2012-09-12 16:58:47 +0200
committerMike Pall <mike>2012-09-12 16:58:47 +0200
commitaed20093781541c19b5c7d6149eda71a7141bc1c (patch)
treef86023d78e716262282c23d639a318dce1af7b65 /src/lj_tab.c
parent23932a6c8b7ef434bc963139b4160b1058fa6f7f (diff)
downloadluajit-aed20093781541c19b5c7d6149eda71a7141bc1c.tar.gz
luajit-aed20093781541c19b5c7d6149eda71a7141bc1c.tar.bz2
luajit-aed20093781541c19b5c7d6149eda71a7141bc1c.zip
Fix despecialization of ITERN when already running.
Diffstat (limited to 'src/lj_tab.c')
-rw-r--r--src/lj_tab.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lj_tab.c b/src/lj_tab.c
index 40f75269..33d6d75b 100644
--- a/src/lj_tab.c
+++ b/src/lj_tab.c
@@ -545,6 +545,8 @@ static uint32_t keyindex(lua_State *L, GCtab *t, cTValue *key)
545 return t->asize + (uint32_t)(n - noderef(t->node)); 545 return t->asize + (uint32_t)(n - noderef(t->node));
546 /* Hash key indexes: [t->asize..t->asize+t->nmask] */ 546 /* Hash key indexes: [t->asize..t->asize+t->nmask] */
547 } while ((n = nextnode(n))); 547 } while ((n = nextnode(n)));
548 if (key->u32.hi == 0xfffe7fff) /* ITERN was despecialized while running. */
549 return key->u32.lo - 1;
548 lj_err_msg(L, LJ_ERR_NEXTIDX); 550 lj_err_msg(L, LJ_ERR_NEXTIDX);
549 return 0; /* unreachable */ 551 return 0; /* unreachable */
550 } 552 }