LUA_REGISTRYINDEX
if (idx < LUA_REGISTRYINDEX) /* function upvalue? */
#define ispseudo(i) ((i) <= LUA_REGISTRYINDEX)
else if (idx == LUA_REGISTRYINDEX)
idx = LUA_REGISTRYINDEX - idx;
lua_setfield(L, LUA_REGISTRYINDEX, tname); /* registry.name = metatable */
luaL_findtable(L, LUA_REGISTRYINDEX, "_LOADED", 1); /* get _LOADED table */
luaL_getsubtable(L, LUA_REGISTRYINDEX, "_LOADED");
#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n)))
lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS)
#define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i))
lua_getfield(state, LUA_REGISTRYINDEX, ZCP_RUN_INFO_KEY);
lua_getfield(state, LUA_REGISTRYINDEX, ZCP_RUN_INFO_KEY);
lua_setfield(state, LUA_REGISTRYINDEX, ZCP_RUN_INFO_KEY);