]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Fix recording of metamethod result adjustment.
authorMike Pall <mike>
Thu, 28 Jan 2010 03:02:32 +0000 (04:02 +0100)
committerMike Pall <mike>
Thu, 28 Jan 2010 03:02:32 +0000 (04:02 +0100)
src/lj_record.c

index 7b2e977e18b57a93b21ee0fa33e10a143940e36b..b783275266996530939f36170dc38e55a640e7ea 100644 (file)
@@ -1539,7 +1539,7 @@ static void rec_ret(jit_State *J, BCReg rbase, int gotresults)
     if (cont == lj_cont_ra) {
       /* Copy result to destination slot. */
       BCReg dst = bc_a(*J->pc);
-      J->base[dst] = res[0];
+      J->base[dst] = gotresults ? res[0] : TREF_NIL;
       if (dst > J->maxslot) J->maxslot = dst+1;
     } else if (cont == lj_cont_nop) {
       /* Nothing to do here. */