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
In `--disable-gil` builds, we now use four separate heaps in anticipation
of using mimalloc to find GC objects when the GIL is disabled. To support
this, we also make a few changes to mimalloc:
* Heap and mi_tld_t initialization is split from allocation. This allows
us to have a per-PyThreadState mi_tld_t, which is important to keep
interpreter isolation, since the same OS thread may run in multiple
interpreters (using different PyThreadStates.)
* The pool of abandoned segments is refactored into its own struct. This
allows us to use different pools for different interpreters so that
we can preserve interpreter isolation.
* Heap abandoning (mi_heap_collect_ex) can now be called from a different
thread than the one that created the heap. This is necessary because
we may clear and delete the containing PyThreadStates from a different
thread during finalization and after fork().
0 commit comments