From: Mike Pall Date: Thu, 28 Jan 2010 03:02:32 +0000 (+0100) Subject: Fix recording of metamethod result adjustment. X-Git-Tag: v2.0.0-beta3~110 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a6565d21fa56756cf4ecb1aec3da38d4cd23b9f1;p=thirdparty%2FLuaJIT.git Fix recording of metamethod result adjustment. --- diff --git a/src/lj_record.c b/src/lj_record.c index 7b2e977e..b7832752 100644 --- a/src/lj_record.c +++ b/src/lj_record.c @@ -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. */