gh-112529: Make the GC scheduling thread-safe (#114880)
The GC keeps track of the number of allocations (less deallocations) since the last GC. This buffers the count in thread-local state and uses atomic operations to modify the per-interpreter count. The thread-local buffering avoids contention on shared state. A consequence is that the GC scheduling is not as precise, so "test_sneaky_frame_object" is skipped because it requires that the GC be run exactly after allocating a frame object.
S
Sam Gross committed
b24c9161a651f549ed48f4b4dba8996fe9cc4e09
Parent: f92857a
Committed by GitHub <noreply@github.com>
on 2/16/2024, 4:22:27 PM