diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2023-12-06 10:49:56 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2023-12-06 10:49:56 -0300 |
| commit | 789e7acdea3ada96bd00b7aac6d82e805bfee85c (patch) | |
| tree | b9901b2700d11d01bfe320244a545f41d106b973 /lstate.h | |
| parent | 74b401353892318cd7ded6ca149258feb21d1724 (diff) | |
| download | lua-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.h | 6 |
1 files changed, 3 insertions, 3 deletions
| @@ -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 | ||
| 156 | typedef struct stringtable { | 156 | typedef 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 */ |
