diff options
Diffstat (limited to 'src/lj_record.c')
| -rw-r--r-- | src/lj_record.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c index a4779933..3ca2fb4f 100644 --- a/src/lj_record.c +++ b/src/lj_record.c | |||
| @@ -832,6 +832,7 @@ void lj_record_ret(jit_State *J, BCReg rbase, ptrdiff_t gotresults) | |||
| 832 | J->base -= cbase; | 832 | J->base -= cbase; |
| 833 | J->base[--rbase] = TREF_TRUE; /* Prepend true to results. */ | 833 | J->base[--rbase] = TREF_TRUE; /* Prepend true to results. */ |
| 834 | frame = frame_prevd(frame); | 834 | frame = frame_prevd(frame); |
| 835 | J->needsnap = 1; /* Stop catching on-trace errors. */ | ||
| 835 | } | 836 | } |
| 836 | /* Return to lower frame via interpreter for unhandled cases. */ | 837 | /* Return to lower frame via interpreter for unhandled cases. */ |
| 837 | if (J->framedepth == 0 && J->pt && bc_isret(bc_op(*J->pc)) && | 838 | if (J->framedepth == 0 && J->pt && bc_isret(bc_op(*J->pc)) && |
| @@ -2050,7 +2051,7 @@ void lj_record_ins(jit_State *J) | |||
| 2050 | /* Need snapshot before recording next bytecode (e.g. after a store). */ | 2051 | /* Need snapshot before recording next bytecode (e.g. after a store). */ |
| 2051 | if (J->needsnap) { | 2052 | if (J->needsnap) { |
| 2052 | J->needsnap = 0; | 2053 | J->needsnap = 0; |
| 2053 | lj_snap_purge(J); | 2054 | if (J->pt) lj_snap_purge(J); |
| 2054 | lj_snap_add(J); | 2055 | lj_snap_add(J); |
| 2055 | J->mergesnap = 1; | 2056 | J->mergesnap = 1; |
| 2056 | } | 2057 | } |
