incremental GC: fix accumulation of page-repair work
Too much work was being saved for the final step of a major GC.
This commit is contained in:
parent
e9c722cf22
commit
d306ecdf3a
|
@ -5408,6 +5408,8 @@ static void incremental_repair_pages(NewGC *gc, int fuel)
|
|||
while (fuel && gc->inc_repair_next) {
|
||||
page = gc->inc_repair_next;
|
||||
gc->inc_repair_next = page->inc_modified_next;
|
||||
if (!gc->inc_repair_next)
|
||||
gc->inc_repair_next = gc->inc_modified_next;
|
||||
GC_ASSERT(page->generation >= AGE_GEN_1);
|
||||
if (page->generation == AGE_VACATED) {
|
||||
/* skip */
|
||||
|
|
Loading…
Reference in New Issue
Block a user