gh-111968: Use per-thread freelists for generator in free-threading (gh-114189)
This commit is contained in:
@@ -1462,6 +1462,7 @@ _Py_ClearFreeLists(_PyFreeListState *state, int is_finalization)
|
||||
_PyTuple_ClearFreeList(state, is_finalization);
|
||||
_PyList_ClearFreeList(state, is_finalization);
|
||||
_PyContext_ClearFreeList(state, is_finalization);
|
||||
_PyAsyncGen_ClearFreeLists(state, is_finalization);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -1549,7 +1550,7 @@ PyThreadState_Clear(PyThreadState *tstate)
|
||||
#ifdef Py_GIL_DISABLED
|
||||
// Each thread should clear own freelists in free-threading builds.
|
||||
_PyFreeListState *freelist_state = &((_PyThreadStateImpl*)tstate)->freelist_state;
|
||||
_Py_ClearFreeLists(freelist_state, 0);
|
||||
_Py_ClearFreeLists(freelist_state, 1);
|
||||
_PySlice_ClearCache(freelist_state);
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user