summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-04-29 00:29:20 (GMT)
committerGitHub <noreply@github.com>2020-04-29 00:29:20 (GMT)
commitae00a5a88534fd45939f86c12e038da9fa6f9ed6 (patch)
tree43b1f4ea83241fd72d32a0ade5a17366e67d42e4 /Modules
parentcc0dc7e484c9626857e9a8b4c40eee37473702ed (diff)
downloadcpython-ae00a5a88534fd45939f86c12e038da9fa6f9ed6.zip
cpython-ae00a5a88534fd45939f86c12e038da9fa6f9ed6.tar.gz
cpython-ae00a5a88534fd45939f86c12e038da9fa6f9ed6.tar.bz2
bpo-40428: Remove PyTuple_ClearFreeList() function (GH-19769)
Remove the following function from the C API: * PyAsyncGen_ClearFreeLists() * PyContext_ClearFreeList() * PyDict_ClearFreeList() * PyFloat_ClearFreeList() * PyFrame_ClearFreeList() * PyList_ClearFreeList() * PySet_ClearFreeList() * PyTuple_ClearFreeList() Make these functions private, move them to the internal C API and change their return type to void. Call explicitly PyGC_Collect() to free all free lists. Note: PySet_ClearFreeList() did nothing.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/gcmodule.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index 5727820..56dcb10 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -30,7 +30,6 @@
#include "pycore_object.h"
#include "pycore_pyerrors.h"
#include "pycore_pystate.h" // _PyThreadState_GET()
-#include "frameobject.h" // PyFrame_ClearFreeList
#include "pydtrace.h"
#include "pytime.h" // _PyTime_GetMonotonicClock()
@@ -1026,14 +1025,13 @@ delete_garbage(PyThreadState *tstate, GCState *gcstate,
static void
clear_freelists(void)
{
- (void)PyFrame_ClearFreeList();
- (void)PyTuple_ClearFreeList();
- (void)PyFloat_ClearFreeList();
- (void)PyList_ClearFreeList();
- (void)PyDict_ClearFreeList();
- (void)PySet_ClearFreeList();
- (void)PyAsyncGen_ClearFreeLists();
- (void)PyContext_ClearFreeList();
+ _PyFrame_ClearFreeList();
+ _PyTuple_ClearFreeList();
+ _PyFloat_ClearFreeList();
+ _PyList_ClearFreeList();
+ _PyDict_ClearFreeList();
+ _PyAsyncGen_ClearFreeLists();
+ _PyContext_ClearFreeList();
}
// Show stats for objects in each generations