Files
scriptc/packages
Malte Ubl bb478e1e6c Buffer only capture boxes that can lie on a cycle
Every release that left a capture box alive buffered it as a cycle candidate, but a box's trace visits its payload only for a closure or a class instance with a cycle header. Boxes holding numbers, booleans, strings, arrays or acyclic instances are leaves of the object graph and can never be on a garbage cycle; they still cost an enqueue and, when they die, a dequeue. On Excalidraw boxes were 18% of all buffered candidates (1.76M of 10.3M).

scr_box_release and the emitted inline release (speed builds) now test kind == SCR_BOX_FUNC || obj_trace != NULL first, mirroring the union boxes' arm_trace test.
2026-10-11 09:38:26 -07:00
..
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00