aboutsummaryrefslogtreecommitdiff
path: root/lstate.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2023-12-06 10:49:56 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2023-12-06 10:49:56 -0300
commit789e7acdea3ada96bd00b7aac6d82e805bfee85c (patch)
treeb9901b2700d11d01bfe320244a545f41d106b973 /lstate.h
parent74b401353892318cd7ded6ca149258feb21d1724 (diff)
downloadlua-789e7acdea3ada96bd00b7aac6d82e805bfee85c.tar.gz
lua-789e7acdea3ada96bd00b7aac6d82e805bfee85c.tar.bz2
lua-789e7acdea3ada96bd00b7aac6d82e805bfee85c.zip
Major collections done incrementally
Major collections do not need to "stop the world". Still pending: criteria for shifts minor-major, shifts generational-incremental.
Diffstat (limited to 'lstate.h')
-rw-r--r--lstate.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/lstate.h b/lstate.h
index f42db35d..1868981b 100644
--- a/lstate.h
+++ b/lstate.h
@@ -149,8 +149,8 @@ struct lua_longjmp; /* defined in ldo.c */
149 149
150/* kinds of Garbage Collection */ 150/* kinds of Garbage Collection */
151#define KGC_INC 0 /* incremental gc */ 151#define KGC_INC 0 /* incremental gc */
152#define KGC_GEN 1 /* generational gc */ 152#define KGC_GENMINOR 1 /* generational gc in minor (regular) mode */
153#define KGC_GENMAJOR 2 /* generational in "major" mode */ 153#define KGC_GENMAJOR 2 /* generational in major mode */
154 154
155 155
156typedef struct stringtable { 156typedef struct stringtable {
@@ -259,7 +259,7 @@ typedef struct global_State {
259 l_obj totalobjs; /* total number of objects allocated + GCdebt */ 259 l_obj totalobjs; /* total number of objects allocated + GCdebt */
260 l_obj GCdebt; /* objects counted but not yet allocated */ 260 l_obj GCdebt; /* objects counted but not yet allocated */
261 l_obj marked; /* number of objects marked in a GC cycle */ 261 l_obj marked; /* number of objects marked in a GC cycle */
262 l_obj GClastmajor; /* objects at last major collection */ 262 l_obj GCmajorminor; /* auxiliar counter to control major-minor shifts */
263 stringtable strt; /* hash table for strings */ 263 stringtable strt; /* hash table for strings */
264 TValue l_registry; 264 TValue l_registry;
265 TValue nilvalue; /* a nil value */ 265 TValue nilvalue; /* a nil value */