aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2016-06-03 04:26:08 +0200
committerMike Pall <mike>2016-06-03 04:26:08 +0200
commita5f8a4819f21ddb9aa0fb4ddd3c221d4512968e9 (patch)
treec63bfdf74c132225a177a5f3b4c065119c9341b0 /src
parent747feb6e4ef2a8147e18a92e76b9befa8de8a7b5 (diff)
downloadluajit-a5f8a4819f21ddb9aa0fb4ddd3c221d4512968e9.tar.gz
luajit-a5f8a4819f21ddb9aa0fb4ddd3c221d4512968e9.tar.bz2
luajit-a5f8a4819f21ddb9aa0fb4ddd3c221d4512968e9.zip
Don't try to record outermost pcall() return to lower frame.
Diffstat (limited to 'src')
-rw-r--r--src/lj_record.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index 44b3667f..3f76c92a 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -687,7 +687,7 @@ void lj_record_ret(jit_State *J, BCReg rbase, ptrdiff_t gotresults)
687 (void)getslot(J, rbase+i); /* Ensure all results have a reference. */ 687 (void)getslot(J, rbase+i); /* Ensure all results have a reference. */
688 while (frame_ispcall(frame)) { /* Immediately resolve pcall() returns. */ 688 while (frame_ispcall(frame)) { /* Immediately resolve pcall() returns. */
689 BCReg cbase = (BCReg)frame_delta(frame); 689 BCReg cbase = (BCReg)frame_delta(frame);
690 if (--J->framedepth < 0) 690 if (--J->framedepth <= 0)
691 lj_trace_err(J, LJ_TRERR_NYIRETL); 691 lj_trace_err(J, LJ_TRERR_NYIRETL);
692 lua_assert(J->baseslot > 1); 692 lua_assert(J->baseslot > 1);
693 gotresults++; 693 gotresults++;