commit 457d88eaaa2ac32e4fa0b7c4310cda9bba95d154
parent 8a1a512c6484b93e8a4ad81f0bffe818a585c1ee
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Tue, 5 Mar 2002 13:22:32 -0300
configurable minimum size for the string table
Diffstat:
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/lgc.c b/lgc.c
@@ -1,5 +1,5 @@
/*
-** $Id: lgc.c,v 1.127 2002/01/30 17:26:44 roberto Exp roberto $
+** $Id: lgc.c,v 1.128 2002/03/04 21:32:34 roberto Exp roberto $
** Garbage Collector
** See Copyright Notice in lua.h
*/
@@ -366,7 +366,7 @@ static void collectstrings (lua_State *L, int all) {
}
}
if (G(L)->strt.nuse < cast(ls_nstr, G(L)->strt.size/4) &&
- G(L)->strt.size > 4)
+ G(L)->strt.size > MINSTRTABSIZE*2)
luaS_resize(L, G(L)->strt.size/2); /* table is too big */
}
diff --git a/llimits.h b/llimits.h
@@ -1,5 +1,5 @@
/*
-** $Id: llimits.h,v 1.1 2001/11/29 22:14:34 rieru Exp rieru $
+** $Id: llimits.h,v 1.37 2002/02/14 21:43:01 roberto Exp roberto $
** Limits, basic types, and some other `installation-dependent' definitions
** See Copyright Notice in lua.h
*/
@@ -108,5 +108,10 @@ typedef unsigned long Instruction;
#endif
+/* minimum size for the string table */
+#ifndef MINSTRTABSIZE
+#define MINSTRTABSIZE 20
+#endif
+
#endif
diff --git a/lstate.c b/lstate.c
@@ -1,5 +1,5 @@
/*
-** $Id: lstate.c,v 1.1 2001/11/29 22:14:34 rieru Exp rieru $
+** $Id: lstate.c,v 1.84 2002/02/14 21:40:13 roberto Exp roberto $
** Global State
** See Copyright Notice in lua.h
*/
@@ -65,7 +65,7 @@ static void f_luaopen (lua_State *L, void *ud) {
hvalue(defaultmeta(L))->metatable = hvalue(defaultmeta(L));
sethvalue(gt(L), luaH_new(L, 0, 4)); /* table of globals */
sethvalue(registry(L), luaH_new(L, 0, 0)); /* registry */
- luaS_resize(L, 4); /* initial size of string table */
+ luaS_resize(L, MINSTRTABSIZE); /* initial size of string table */
luaT_init(L);
luaX_init(L);
G(L)->GCthreshold = 4*G(L)->nblocks;