Parent: #1090
Requested assignee: @andrewtdiz
Problem
Minor GC still pays sweep, age-bump, block-persistence, and reset/deallocation costs. The structural win is copying live young objects and resetting nursery pages wholesale.
Context
Prototype a copying young-generation collector with young from-space/to-space or an evacuation buffer. Minor GC should copy live young roots and dirty-page children, rewrite mutable slots, promote survivors when needed, and reset nursery allocation space wholesale.
Target invariant:
minor GC cost = live young objects + dirty old cards/pages + mutable roots
Verification
- Minor pause scales with live young bytes, not dead nursery allocation volume
bench_gc_pressure pause time decreases
object_create and binary_trees do not regress
- perf-comprehensive has no mid-round GC outliers
- Memory stability suite passes in copying-nursery mode
Parent: #1090
Requested assignee: @andrewtdiz
Problem
Minor GC still pays sweep, age-bump, block-persistence, and reset/deallocation costs. The structural win is copying live young objects and resetting nursery pages wholesale.
Context
Prototype a copying young-generation collector with young from-space/to-space or an evacuation buffer. Minor GC should copy live young roots and dirty-page children, rewrite mutable slots, promote survivors when needed, and reset nursery allocation space wholesale.
Target invariant:
Verification
bench_gc_pressurepause time decreasesobject_createandbinary_treesdo not regress