diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2021-02-26 11:41:02 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2021-02-26 11:41:02 -0300 |
commit | 1537d6680bb66dc2484e11815bc2cd0e31ca39cc (patch) | |
tree | f035f9e28fa2f1a6fba62e1b25d32b8a4b824204 /lstate.h | |
parent | e0260eb2d4085723302d637dd8f3fca339d18817 (diff) | |
download | lua-1537d6680bb66dc2484e11815bc2cd0e31ca39cc.tar.gz lua-1537d6680bb66dc2484e11815bc2cd0e31ca39cc.tar.bz2 lua-1537d6680bb66dc2484e11815bc2cd0e31ca39cc.zip |
New control for reentrancy of emergency collections
Instead of assuming that shrinking a block may be an emergency
collection, use an explicit field ('gcstopem') to stop emergency
collections while GC is working.
Diffstat (limited to 'lstate.h')
-rw-r--r-- | lstate.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -260,6 +260,7 @@ typedef struct global_State { | |||
260 | lu_byte currentwhite; | 260 | lu_byte currentwhite; |
261 | lu_byte gcstate; /* state of garbage collector */ | 261 | lu_byte gcstate; /* state of garbage collector */ |
262 | lu_byte gckind; /* kind of GC running */ | 262 | lu_byte gckind; /* kind of GC running */ |
263 | lu_byte gcstopem; /* stops emergency collections */ | ||
263 | lu_byte genminormul; /* control for minor generational collections */ | 264 | lu_byte genminormul; /* control for minor generational collections */ |
264 | lu_byte genmajormul; /* control for major generational collections */ | 265 | lu_byte genmajormul; /* control for major generational collections */ |
265 | lu_byte gcrunning; /* true if GC is running */ | 266 | lu_byte gcrunning; /* true if GC is running */ |