aboutsummaryrefslogtreecommitdiff
path: root/lstate.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2021-02-26 11:41:02 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2021-02-26 11:41:02 -0300
commit1537d6680bb66dc2484e11815bc2cd0e31ca39cc (patch)
treef035f9e28fa2f1a6fba62e1b25d32b8a4b824204 /lstate.h
parente0260eb2d4085723302d637dd8f3fca339d18817 (diff)
downloadlua-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.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/lstate.h b/lstate.h
index 0322e2c6..c1283bb6 100644
--- a/lstate.h
+++ b/lstate.h
@@ -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 */