]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-40521: Make dict free lists per-interpreter (GH-20645)
authorVictor Stinner <vstinner@python.org>
Tue, 23 Jun 2020 09:33:18 +0000 (11:33 +0200)
committerGitHub <noreply@github.com>
Tue, 23 Jun 2020 09:33:18 +0000 (11:33 +0200)
commitb4e85cadfbc2b1b24ec5f3159e351dbacedaa5e0
treea121d0df89bdc965649d65a0ca50543293431e61
parent26a1ad1c24717990265b71ed093d691500d6301c
bpo-40521: Make dict free lists per-interpreter (GH-20645)

Each interpreter now has its own dict free list:

* Move dict free lists into PyInterpreterState.
* Move PyDict_MAXFREELIST define to pycore_interp.h
* Add _Py_dict_state structure.
* Add tstate parameter to _PyDict_ClearFreeList() and _PyDict_Fini().
* In debug mode, ensure that the dict free lists are not used after
  _PyDict_Fini() is called.
* Remove "#ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS".
Include/internal/pycore_gc.h
Include/internal/pycore_interp.h
Include/internal/pycore_pylifecycle.h
Misc/NEWS.d/next/Core and Builtins/2020-05-20-01-17-34.bpo-40521.wvAehI.rst
Modules/gcmodule.c
Objects/dictobject.c
Python/pylifecycle.c