Clearer handling of gray lists when entering generational mode

When entering generational mode, all objects are old. So, the only
objects that need to be in a gray list are threads, which can be
assigned without barriers. Changes in anything else (e.g., weak
tables) will trigger barriers that, if needed, will add the object
to a gray list.
This commit is contained in:
Roberto Ierusalimschy
2020-08-03 13:22:57 -03:00
parent 0dc5deca1c
commit b9b554e0f6
3 changed files with 79 additions and 18 deletions

View File

@@ -51,6 +51,7 @@
/* memory-allocator control variables */
typedef struct Memcontrol {
int failnext;
unsigned long numblocks;
unsigned long total;
unsigned long maxmem;