new cache for interning strings

This commit is contained in:
Roberto Ierusalimschy
2015-03-04 10:31:21 -03:00
parent a00013c8d0
commit a80cada914
6 changed files with 61 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
/*
** $Id: lstate.c,v 2.126 2014/11/02 19:19:04 roberto Exp roberto $
** $Id: lstate.c,v 2.127 2014/11/02 19:33:33 roberto Exp roberto $
** Global State
** See Copyright Notice in lua.h
*/
@@ -37,9 +37,6 @@
#endif
#define MEMERRMSG "not enough memory"
/*
** a macro to help the creation of a unique random seed when a state is
** created; the seed is used to randomize hashes.
@@ -200,12 +197,9 @@ static void f_luaopen (lua_State *L, void *ud) {
UNUSED(ud);
stack_init(L, L); /* init stack */
init_registry(L, g);
luaS_resize(L, MINSTRTABSIZE); /* initial size of string table */
luaS_init(L);
luaT_init(L);
luaX_init(L);
/* pre-create memory-error message */
g->memerrmsg = luaS_newliteral(L, MEMERRMSG);
luaC_fix(L, obj2gco(g->memerrmsg)); /* it should never be collected */
g->gcrunning = 1; /* allow gc */
g->version = lua_version(NULL);
luai_userstateopen(L);