|
@@ -3,7 +3,7 @@
|
|
|
** Module to control static tables
|
|
|
*/
|
|
|
|
|
|
-char *rcs_table="$Id: table.c,v 2.46 1996/02/14 13:35:51 roberto Exp roberto $";
|
|
|
+char *rcs_table="$Id: table.c,v 2.47 1996/02/14 18:25:04 roberto Exp roberto $";
|
|
|
|
|
|
#include "mem.h"
|
|
|
#include "opcode.h"
|
|
@@ -39,19 +39,19 @@ static struct {
|
|
|
char *name;
|
|
|
lua_CFunction func;
|
|
|
} int_funcs[] = {
|
|
|
- {"nextvar", lua_nextvar},
|
|
|
+ {"assert", luaI_assert},
|
|
|
+ {"dofile", lua_internaldofile},
|
|
|
+ {"dostring", lua_internaldostring},
|
|
|
{"error", luaI_error},
|
|
|
- {"tonumber", lua_obj2number},
|
|
|
- {"setfallback", luaI_setfallback},
|
|
|
+ {"getglobal", luaI_getglobal},
|
|
|
{"next", lua_next},
|
|
|
- {"dofile", lua_internaldofile},
|
|
|
+ {"nextvar", lua_nextvar},
|
|
|
+ {"print", luaI_print},
|
|
|
+ {"setfallback", luaI_setfallback},
|
|
|
{"setglobal", luaI_setglobal},
|
|
|
- {"getglobal", luaI_getglobal},
|
|
|
- {"type", luaI_type},
|
|
|
+ {"tonumber", lua_obj2number},
|
|
|
{"tostring", luaI_tostring},
|
|
|
- {"print", luaI_print},
|
|
|
- {"dostring", lua_internaldostring},
|
|
|
- {"assert", luaI_assert}
|
|
|
+ {"type", luaI_type}
|
|
|
};
|
|
|
|
|
|
#define INTFUNCSIZE (sizeof(int_funcs)/sizeof(int_funcs[0]))
|
|
@@ -100,8 +100,6 @@ Word luaI_findsymbol (TaggedString *t)
|
|
|
lua_table[lua_ntable].varname = t;
|
|
|
s_tag(lua_ntable) = LUA_T_NIL;
|
|
|
lua_ntable++;
|
|
|
- if (!t->marked)
|
|
|
- t->marked = 2; /* avoid GC */
|
|
|
}
|
|
|
return t->varindex;
|
|
|
}
|
|
@@ -109,7 +107,7 @@ Word luaI_findsymbol (TaggedString *t)
|
|
|
|
|
|
Word luaI_findsymbolbyname (char *name)
|
|
|
{
|
|
|
- return luaI_findsymbol(lua_createstring(name));
|
|
|
+ return luaI_findsymbol(luaI_createfixedstring(name));
|
|
|
}
|
|
|
|
|
|
|
|
@@ -133,8 +131,6 @@ Word luaI_findconstant (TaggedString *t)
|
|
|
t->constindex = lua_nconstant;
|
|
|
lua_constant[lua_nconstant] = t;
|
|
|
lua_nconstant++;
|
|
|
- if (!t->marked)
|
|
|
- t->marked = 2; /* avoid GC */
|
|
|
}
|
|
|
return t->constindex;
|
|
|
}
|
|
@@ -142,13 +138,15 @@ Word luaI_findconstant (TaggedString *t)
|
|
|
|
|
|
Word luaI_findconstantbyname (char *name)
|
|
|
{
|
|
|
- return luaI_findconstant(lua_createstring(name));
|
|
|
+ return luaI_findconstant(luaI_createfixedstring(name));
|
|
|
}
|
|
|
|
|
|
-TaggedString *lua_constcreate(char *name)
|
|
|
+TaggedString *luaI_createfixedstring (char *name)
|
|
|
{
|
|
|
- int i = luaI_findconstantbyname(name);
|
|
|
- return lua_constant[i];
|
|
|
+ TaggedString *ts = lua_createstring(name);
|
|
|
+ if (!ts->marked)
|
|
|
+ ts->marked = 2; /* avoid GC */
|
|
|
+ return ts;
|
|
|
}
|
|
|
|
|
|
|