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 | |
| 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
| -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); |
