aboutsummaryrefslogtreecommitdiff
path: root/src/lj_api.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_api.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lj_api.c b/src/lj_api.c
index 2b99c267..b9bac1d4 100644
--- a/src/lj_api.c
+++ b/src/lj_api.c
@@ -195,9 +195,10 @@ LUA_API int lua_type(lua_State *L, int idx)
195 } else if (o == niltv(L)) { 195 } else if (o == niltv(L)) {
196 return LUA_TNONE; 196 return LUA_TNONE;
197 } else { /* Magic internal/external tag conversion. ORDER LJ_T */ 197 } else { /* Magic internal/external tag conversion. ORDER LJ_T */
198 int t = ~itype(o); 198 uint32_t t = ~itype(o);
199 lua_assert(itype(o) != LJ_TUPVAL); 199 int tt = (int)(((t < 8 ? 0x98042110 : 0x7506) >> 4*(t&7)) & 15u);
200 return (int)(((t < 8 ? 0x98042110 : 0x7506) >> 4*(t&7)) & 15u); 200 lua_assert(tt != LUA_TNIL || tvisnil(o));
201 return tt;
201 } 202 }
202} 203}
203 204