diff options
author | Li Jin <dragon-fly@qq.com> | 2022-10-31 11:32:33 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2022-11-09 11:29:32 +0800 |
commit | 417ec1a37922c6178900adfec70628cad46731ff (patch) | |
tree | a5a2d74927ad2c41b5a16264a78409e1c0334b72 /win-build/Lua53/ldo.h | |
parent | 3dd607c8887d2fe0186668aabca31bb84a41e2da (diff) | |
download | yuescript-417ec1a37922c6178900adfec70628cad46731ff.tar.gz yuescript-417ec1a37922c6178900adfec70628cad46731ff.tar.bz2 yuescript-417ec1a37922c6178900adfec70628cad46731ff.zip |
fix issue #112 and issue #113.
Diffstat (limited to 'win-build/Lua53/ldo.h')
-rw-r--r-- | win-build/Lua53/ldo.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/win-build/Lua53/ldo.h b/win-build/Lua53/ldo.h new file mode 100644 index 0000000..3b2983a --- /dev/null +++ b/win-build/Lua53/ldo.h | |||
@@ -0,0 +1,58 @@ | |||
1 | /* | ||
2 | ** $Id: ldo.h,v 2.29.1.1 2017/04/19 17:20:42 roberto Exp $ | ||
3 | ** Stack and Call structure of Lua | ||
4 | ** See Copyright Notice in lua.h | ||
5 | */ | ||
6 | |||
7 | #ifndef ldo_h | ||
8 | #define ldo_h | ||
9 | |||
10 | |||
11 | #include "lobject.h" | ||
12 | #include "lstate.h" | ||
13 | #include "lzio.h" | ||
14 | |||
15 | |||
16 | /* | ||
17 | ** Macro to check stack size and grow stack if needed. Parameters | ||
18 | ** 'pre'/'pos' allow the macro to preserve a pointer into the | ||
19 | ** stack across reallocations, doing the work only when needed. | ||
20 | ** 'condmovestack' is used in heavy tests to force a stack reallocation | ||
21 | ** at every check. | ||
22 | */ | ||
23 | #define luaD_checkstackaux(L,n,pre,pos) \ | ||
24 | if (L->stack_last - L->top <= (n)) \ | ||
25 | { pre; luaD_growstack(L, n); pos; } else { condmovestack(L,pre,pos); } | ||
26 | |||
27 | /* In general, 'pre'/'pos' are empty (nothing to save) */ | ||
28 | #define luaD_checkstack(L,n) luaD_checkstackaux(L,n,(void)0,(void)0) | ||
29 | |||
30 | |||
31 | |||
32 | #define savestack(L,p) ((char *)(p) - (char *)L->stack) | ||
33 | #define restorestack(L,n) ((TValue *)((char *)L->stack + (n))) | ||
34 | |||
35 | |||
36 | /* type of protected functions, to be ran by 'runprotected' */ | ||
37 | typedef void (*Pfunc) (lua_State *L, void *ud); | ||
38 | |||
39 | LUAI_FUNC int luaD_protectedparser (lua_State *L, ZIO *z, const char *name, | ||
40 | const char *mode); | ||
41 | LUAI_FUNC void luaD_hook (lua_State *L, int event, int line); | ||
42 | LUAI_FUNC int luaD_precall (lua_State *L, StkId func, int nresults); | ||
43 | LUAI_FUNC void luaD_call (lua_State *L, StkId func, int nResults); | ||
44 | LUAI_FUNC void luaD_callnoyield (lua_State *L, StkId func, int nResults); | ||
45 | LUAI_FUNC int luaD_pcall (lua_State *L, Pfunc func, void *u, | ||
46 | ptrdiff_t oldtop, ptrdiff_t ef); | ||
47 | LUAI_FUNC int luaD_poscall (lua_State *L, CallInfo *ci, StkId firstResult, | ||
48 | int nres); | ||
49 | LUAI_FUNC void luaD_reallocstack (lua_State *L, int newsize); | ||
50 | LUAI_FUNC void luaD_growstack (lua_State *L, int n); | ||
51 | LUAI_FUNC void luaD_shrinkstack (lua_State *L); | ||
52 | LUAI_FUNC void luaD_inctop (lua_State *L); | ||
53 | |||
54 | LUAI_FUNC l_noret luaD_throw (lua_State *L, int errcode); | ||
55 | LUAI_FUNC int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud); | ||
56 | |||
57 | #endif | ||
58 | |||