From 1df786307c1983b8ce693e3916081a8bcd4e95ae Mon Sep 17 00:00:00 2001 From: Li Jin Date: Wed, 3 Mar 2021 21:31:01 +0800 Subject: add new metatable syntax for issue #41, fix reusing local variable issue, update built-in Lua. --- src/lua/lvm.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/lua/lvm.h') 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 { /* convert an object to an integer (including string coercion) */ #define tointeger(o,i) \ - (ttisinteger(o) ? (*(i) = ivalue(o), 1) : luaV_tointeger(o,i,LUA_FLOORN2I)) + (l_likely(ttisinteger(o)) ? (*(i) = ivalue(o), 1) \ + : luaV_tointeger(o,i,LUA_FLOORN2I)) /* convert an object to an integer (without string coercion) */ #define tointegerns(o,i) \ - (ttisinteger(o) ? (*(i) = ivalue(o), 1) : luaV_tointegerns(o,i,LUA_FLOORN2I)) + (l_likely(ttisinteger(o)) ? (*(i) = ivalue(o), 1) \ + : luaV_tointegerns(o,i,LUA_FLOORN2I)) #define intop(op,v1,v2) l_castU2S(l_castS2U(v1) op l_castS2U(v2)) -- cgit v1.2.3-55-g6feb