diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_trace.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lj_trace.c b/src/lj_trace.c index a5e316e1..f384cbdb 100644 --- a/src/lj_trace.c +++ b/src/lj_trace.c | |||
@@ -905,8 +905,10 @@ int LJ_FASTCALL lj_trace_exit(jit_State *J, void *exptr) | |||
905 | exd.J = J; | 905 | exd.J = J; |
906 | exd.exptr = exptr; | 906 | exd.exptr = exptr; |
907 | errcode = lj_vm_cpcall(L, NULL, &exd, trace_exit_cp); | 907 | errcode = lj_vm_cpcall(L, NULL, &exd, trace_exit_cp); |
908 | if (errcode) | 908 | if (errcode) { |
909 | setcframe_pc(cframe_raw(L->cframe), L); /* Point to any valid memory. */ | ||
909 | return -errcode; /* Return negated error code. */ | 910 | return -errcode; /* Return negated error code. */ |
911 | } | ||
910 | 912 | ||
911 | if (exitcode) copyTV(L, L->top++, &exiterr); /* Anchor the error object. */ | 913 | if (exitcode) copyTV(L, L->top++, &exiterr); /* Anchor the error object. */ |
912 | 914 | ||