diff options
author | Mike Pall <mike> | 2021-03-23 00:35:46 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2021-03-23 00:39:50 +0100 |
commit | a32aeadc6878305658fb3939830e6abaef587e40 (patch) | |
tree | 48f3df3a4ca72b1fb7cd628f15b9d21d864bbbc2 /src/lj_err.h | |
parent | ddd0fd8f3754ad83423623655d8b3f8454a7cf1e (diff) | |
download | luajit-a32aeadc6878305658fb3939830e6abaef587e40.tar.gz luajit-a32aeadc6878305658fb3939830e6abaef587e40.tar.bz2 luajit-a32aeadc6878305658fb3939830e6abaef587e40.zip |
Handle on-trace OOM errors from helper functions.
Diffstat (limited to 'src/lj_err.h')
-rw-r--r-- | src/lj_err.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/lj_err.h b/src/lj_err.h index 770553fc..2e8a251f 100644 --- a/src/lj_err.h +++ b/src/lj_err.h | |||
@@ -23,7 +23,10 @@ LJ_DATA const char *lj_err_allmsg; | |||
23 | LJ_FUNC GCstr *lj_err_str(lua_State *L, ErrMsg em); | 23 | LJ_FUNC GCstr *lj_err_str(lua_State *L, ErrMsg em); |
24 | LJ_FUNCA_NORET void LJ_FASTCALL lj_err_throw(lua_State *L, int errcode); | 24 | LJ_FUNCA_NORET void LJ_FASTCALL lj_err_throw(lua_State *L, int errcode); |
25 | LJ_FUNC_NORET void lj_err_mem(lua_State *L); | 25 | LJ_FUNC_NORET void lj_err_mem(lua_State *L); |
26 | LJ_FUNCA_NORET void LJ_FASTCALL lj_err_run(lua_State *L); | 26 | LJ_FUNC_NORET void LJ_FASTCALL lj_err_run(lua_State *L); |
27 | #if LJ_HASJIT | ||
28 | LJ_FUNCA_NORET void LJ_FASTCALL lj_err_trace(lua_State *L, int errcode); | ||
29 | #endif | ||
27 | LJ_FUNC_NORET void lj_err_msg(lua_State *L, ErrMsg em); | 30 | LJ_FUNC_NORET void lj_err_msg(lua_State *L, ErrMsg em); |
28 | LJ_FUNC_NORET void lj_err_lex(lua_State *L, GCstr *src, const char *tok, | 31 | LJ_FUNC_NORET void lj_err_lex(lua_State *L, GCstr *src, const char *tok, |
29 | BCLine line, ErrMsg em, va_list argp); | 32 | BCLine line, ErrMsg em, va_list argp); |
@@ -38,4 +41,18 @@ LJ_FUNC_NORET void lj_err_argv(lua_State *L, int narg, ErrMsg em, ...); | |||
38 | LJ_FUNC_NORET void lj_err_argtype(lua_State *L, int narg, const char *xname); | 41 | LJ_FUNC_NORET void lj_err_argtype(lua_State *L, int narg, const char *xname); |
39 | LJ_FUNC_NORET void lj_err_argt(lua_State *L, int narg, int tt); | 42 | LJ_FUNC_NORET void lj_err_argt(lua_State *L, int narg, int tt); |
40 | 43 | ||
44 | #if LJ_UNWIND_JIT && !LJ_ABI_WIN | ||
45 | LJ_FUNC uint8_t *lj_err_register_mcode(void *base, size_t sz, uint8_t *info); | ||
46 | LJ_FUNC void lj_err_deregister_mcode(void *base, size_t sz, uint8_t *info); | ||
47 | #else | ||
48 | #define lj_err_register_mcode(base, sz, info) (info) | ||
49 | #define lj_err_deregister_mcode(base, sz, info) UNUSED(base) | ||
50 | #endif | ||
51 | |||
52 | #if LJ_UNWIND_EXT && !LJ_ABI_WIN && defined(LUA_USE_ASSERT) | ||
53 | LJ_FUNC void lj_err_verify(void); | ||
54 | #else | ||
55 | #define lj_err_verify() ((void)0) | ||
56 | #endif | ||
57 | |||
41 | #endif | 58 | #endif |