diff options
author | Li Jin <dragon-fly@qq.com> | 2021-03-03 21:31:01 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2021-03-03 21:33:37 +0800 |
commit | 1df786307c1983b8ce693e3916081a8bcd4e95ae (patch) | |
tree | 6c7aeb2198d825877fd3d179c394b7a5c1f06a17 /src/lua/lvm.h | |
parent | 66168b112b707172b9035edf8c1daed469781e06 (diff) | |
download | yuescript-1df786307c1983b8ce693e3916081a8bcd4e95ae.tar.gz yuescript-1df786307c1983b8ce693e3916081a8bcd4e95ae.tar.bz2 yuescript-1df786307c1983b8ce693e3916081a8bcd4e95ae.zip |
add new metatable syntax for issue #41, fix reusing local variable issue, update built-in Lua.
Diffstat (limited to 'src/lua/lvm.h')
-rw-r--r-- | src/lua/lvm.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lua/lvm.h b/src/lua/lvm.h index 2d4ac16..1bc16f3 100644 --- a/src/lua/lvm.h +++ b/src/lua/lvm.h | |||
@@ -60,12 +60,14 @@ typedef enum { | |||
60 | 60 | ||
61 | /* convert an object to an integer (including string coercion) */ | 61 | /* convert an object to an integer (including string coercion) */ |
62 | #define tointeger(o,i) \ | 62 | #define tointeger(o,i) \ |
63 | (ttisinteger(o) ? (*(i) = ivalue(o), 1) : luaV_tointeger(o,i,LUA_FLOORN2I)) | 63 | (l_likely(ttisinteger(o)) ? (*(i) = ivalue(o), 1) \ |
64 | : luaV_tointeger(o,i,LUA_FLOORN2I)) | ||
64 | 65 | ||
65 | 66 | ||
66 | /* convert an object to an integer (without string coercion) */ | 67 | /* convert an object to an integer (without string coercion) */ |
67 | #define tointegerns(o,i) \ | 68 | #define tointegerns(o,i) \ |
68 | (ttisinteger(o) ? (*(i) = ivalue(o), 1) : luaV_tointegerns(o,i,LUA_FLOORN2I)) | 69 | (l_likely(ttisinteger(o)) ? (*(i) = ivalue(o), 1) \ |
70 | : luaV_tointegerns(o,i,LUA_FLOORN2I)) | ||
69 | 71 | ||
70 | 72 | ||
71 | #define intop(op,v1,v2) l_castU2S(l_castS2U(v1) op l_castS2U(v2)) | 73 | #define intop(op,v1,v2) l_castU2S(l_castS2U(v1) op l_castS2U(v2)) |