diff options
-rw-r--r-- | src/lj_record.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/lj_record.c b/src/lj_record.c index 0dfc10b3..c6848fc0 100644 --- a/src/lj_record.c +++ b/src/lj_record.c | |||
@@ -1508,10 +1508,8 @@ static void rec_varg(jit_State *J, BCReg dst, ptrdiff_t nresults) | |||
1508 | } else if (dst + nresults > J->maxslot) { | 1508 | } else if (dst + nresults > J->maxslot) { |
1509 | J->maxslot = dst + (BCReg)nresults; | 1509 | J->maxslot = dst + (BCReg)nresults; |
1510 | } | 1510 | } |
1511 | for (i = 0; i < nresults; i++) { | 1511 | for (i = 0; i < nresults; i++) |
1512 | J->base[dst+i] = i < nvararg ? J->base[i - nvararg - 1] : TREF_NIL; | 1512 | J->base[dst+i] = i < nvararg ? getslot(J, i - nvararg - 1) : TREF_NIL; |
1513 | lua_assert(J->base[dst+i] != 0); | ||
1514 | } | ||
1515 | } else { /* Unknown number of varargs passed to trace. */ | 1513 | } else { /* Unknown number of varargs passed to trace. */ |
1516 | TRef fr = emitir(IRTI(IR_SLOAD), 0, IRSLOAD_READONLY|IRSLOAD_FRAME); | 1514 | TRef fr = emitir(IRTI(IR_SLOAD), 0, IRSLOAD_READONLY|IRSLOAD_FRAME); |
1517 | int32_t frofs = 8*(1+numparams)+FRAME_VARG; | 1515 | int32_t frofs = 8*(1+numparams)+FRAME_VARG; |