diff options
author | Mike Pall <mike> | 2023-08-12 14:48:34 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2023-08-12 14:48:34 +0200 |
commit | d5bbf9cdb4c5eddc404a90bd44f077cfb3a57a90 (patch) | |
tree | 6de71c1ff5c5d8dd08233d193f5338969e6f6208 /src | |
parent | 165ea18b0e977109c90d84cd3e01183de04e8996 (diff) | |
download | luajit-d5bbf9cdb4c5eddc404a90bd44f077cfb3a57a90.tar.gz luajit-d5bbf9cdb4c5eddc404a90bd44f077cfb3a57a90.tar.bz2 luajit-d5bbf9cdb4c5eddc404a90bd44f077cfb3a57a90.zip |
Fix frame for more types of on-trace error messages.
Thanks to Maxim Kokryashkin. #1034
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_err.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lj_err.c b/src/lj_err.c index 3ee70b86..9652ef35 100644 --- a/src/lj_err.c +++ b/src/lj_err.c | |||
@@ -875,6 +875,10 @@ LJ_NORET LJ_NOINLINE static void err_msgv(lua_State *L, ErrMsg em, ...) | |||
875 | const char *msg; | 875 | const char *msg; |
876 | va_list argp; | 876 | va_list argp; |
877 | va_start(argp, em); | 877 | va_start(argp, em); |
878 | if (LJ_HASJIT) { | ||
879 | TValue *base = tvref(G(L)->jit_base); | ||
880 | if (base) L->base = base; | ||
881 | } | ||
878 | if (curr_funcisL(L)) L->top = curr_topL(L); | 882 | if (curr_funcisL(L)) L->top = curr_topL(L); |
879 | msg = lj_strfmt_pushvf(L, err2msg(em), argp); | 883 | msg = lj_strfmt_pushvf(L, err2msg(em), argp); |
880 | va_end(argp); | 884 | va_end(argp); |