You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(5) GC layout descriptor + leak/stress verification for class objects
Scope
Register a #1096 layout descriptor / pointer mask for the class object so GC scans it precisely: pointer-bearing slots = static-field slots + the static-prototype/parent link; scalar = class_id. Verify the class object moves correctly under evacuation and the #1095 copying nursery, and is collected when unreachable (the whole point vs. the integer-hack's permanent global-table leak).
Acceptance criteria
Creating N class objects in a loop and dropping them shows flat/bounded RSS (no per-evaluation leak) under GC stress.
PERRY_GC_VERIFY_EVACUATION=1 / forced-evacuate passes with class objects live.
Mixed pointer/scalar layout correctness test for the class object.
Part of #1785. Design: #1772. Depends on #1786. Coordinate with #1090 / #1096 (@andrewtdiz).
(5) GC layout descriptor + leak/stress verification for class objects
Scope
Register a #1096 layout descriptor / pointer mask for the class object so GC scans it precisely: pointer-bearing slots = static-field slots + the static-prototype/parent link; scalar =
class_id. Verify the class object moves correctly under evacuation and the #1095 copying nursery, and is collected when unreachable (the whole point vs. the integer-hack's permanent global-table leak).Acceptance criteria
PERRY_GC_VERIFY_EVACUATION=1/ forced-evacuate passes with class objects live.Blocks
(6).