summaryrefslogtreecommitdiff
path: root/src/lj_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_parse.c')
-rw-r--r--src/lj_parse.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_parse.c b/src/lj_parse.c
index f5f59d03..e1ca2ff7 100644
--- a/src/lj_parse.c
+++ b/src/lj_parse.c
@@ -1369,7 +1369,8 @@ static void expr_table(LexState *ls, ExpDesc *e)
1369 lua_assert(bc_a(ilp->ins) == freg && 1369 lua_assert(bc_a(ilp->ins) == freg &&
1370 bc_op(ilp->ins) == (narr > 256 ? BC_TSETV : BC_TSETB)); 1370 bc_op(ilp->ins) == (narr > 256 ? BC_TSETV : BC_TSETB));
1371 expr_init(&en, VKNUM, 0); 1371 expr_init(&en, VKNUM, 0);
1372 setintV(&en.u.nval, narr-1); 1372 en.u.nval.u32.lo = narr-1;
1373 en.u.nval.u32.hi = 0x43300000; /* Biased integer to avoid denormals. */
1373 if (narr > 256) { fs->pc--; ilp--; } 1374 if (narr > 256) { fs->pc--; ilp--; }
1374 ilp->ins = BCINS_AD(BC_TSETM, freg, const_num(fs, &en)); 1375 ilp->ins = BCINS_AD(BC_TSETM, freg, const_num(fs, &en));
1375 setbc_b(&ilp[-1].ins, 0); 1376 setbc_b(&ilp[-1].ins, 0);