diff options
Diffstat (limited to 'src/lj_parse.c')
-rw-r--r-- | src/lj_parse.c | 3 |
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); |