[Python-checkins] bpo-38896: Remove PyUnicode_ClearFreeList() function (GH-17354)
Victor Stinner
webhook-mailer at python.org
Fri Nov 22 20:30:53 EST 2019
https://github.com/python/cpython/commit/d68b592dd67cb87c4fa862a8d3b3fd0a7d05e113
commit: d68b592dd67cb87c4fa862a8d3b3fd0a7d05e113
branch: master
author: Victor Stinner <vstinner at python.org>
committer: GitHub <noreply at github.com>
date: 2019-11-23T02:30:32+01:00
summary:
bpo-38896: Remove PyUnicode_ClearFreeList() function (GH-17354)
Remove PyUnicode_ClearFreeList() function: the Unicode free list has
been removed in Python 3.3.
files:
A Misc/NEWS.d/next/C API/2019-11-22-19-43-43.bpo-38896.6wvNMJ.rst
M Doc/c-api/unicode.rst
M Doc/whatsnew/3.9.rst
M Include/unicodeobject.h
M Modules/gcmodule.c
M Objects/unicodeobject.c
M PC/python3.def
diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst
index 2bf4a0f56bc8a..77f123cf1f2c0 100644
--- a/Doc/c-api/unicode.rst
+++ b/Doc/c-api/unicode.rst
@@ -197,11 +197,6 @@ access internal read-only data of Unicode objects:
.. versionadded:: 3.3
-.. c:function:: int PyUnicode_ClearFreeList()
-
- Clear the free list. Return the total number of freed items.
-
-
.. c:function:: Py_ssize_t PyUnicode_GET_SIZE(PyObject *o)
Return the size of the deprecated :c:type:`Py_UNICODE` representation, in
diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst
index 281173edb895b..a3ad98d020642 100644
--- a/Doc/whatsnew/3.9.rst
+++ b/Doc/whatsnew/3.9.rst
@@ -235,6 +235,10 @@ Build and C API Changes
functions: the free lists of bound method objects have been removed.
(Contributed by Inada Naoki and Victor Stinner in :issue:`37340`.)
+* Remove ``PyUnicode_ClearFreeList()`` function: the Unicode free list has been
+ removed in Python 3.3.
+ (Contributed by Victor Stinner in :issue:`38896`.)
+
Deprecated
==========
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
index 97d8cd12f6de5..4dea494218122 100644
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -328,17 +328,6 @@ PyAPI_FUNC(wchar_t*) PyUnicode_AsWideCharString(
PyAPI_FUNC(PyObject*) PyUnicode_FromOrdinal(int ordinal);
-/* --- Free-list management ----------------------------------------------- */
-
-/* Clear the free list used by the Unicode implementation.
-
- This can be used to release memory used for objects on the free
- list back to the Python memory allocator.
-
-*/
-
-PyAPI_FUNC(int) PyUnicode_ClearFreeList(void);
-
/* === Builtin Codecs =====================================================
Many of these APIs take two arguments encoding and errors. These
diff --git a/Misc/NEWS.d/next/C API/2019-11-22-19-43-43.bpo-38896.6wvNMJ.rst b/Misc/NEWS.d/next/C API/2019-11-22-19-43-43.bpo-38896.6wvNMJ.rst
new file mode 100644
index 0000000000000..c5e108d769312
--- /dev/null
+++ b/Misc/NEWS.d/next/C API/2019-11-22-19-43-43.bpo-38896.6wvNMJ.rst
@@ -0,0 +1,2 @@
+Remove ``PyUnicode_ClearFreeList()`` function: the Unicode free list has
+been removed in Python 3.3.
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index d232179a11ce4..64afe831c84c5 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -1031,7 +1031,6 @@ clear_freelists(void)
{
(void)PyFrame_ClearFreeList();
(void)PyTuple_ClearFreeList();
- (void)PyUnicode_ClearFreeList();
(void)PyFloat_ClearFreeList();
(void)PyList_ClearFreeList();
(void)PyDict_ClearFreeList();
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 89e45d01e3789..77760195b32e7 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -15332,14 +15332,6 @@ _PyUnicode_Init(void)
return _PyStatus_OK();
}
-/* Finalize the Unicode implementation */
-
-int
-PyUnicode_ClearFreeList(void)
-{
- return 0;
-}
-
void
PyUnicode_InternInPlace(PyObject **p)
@@ -15951,7 +15943,6 @@ _PyUnicode_Fini(PyThreadState *tstate)
Py_CLEAR(unicode_latin1[i]);
}
_PyUnicode_ClearStaticStrings();
- (void)PyUnicode_ClearFreeList();
}
PyInterpreterState *interp = _PyInterpreterState_GET_UNSAFE();
diff --git a/PC/python3.def b/PC/python3.def
index 1f355bffc9bdd..4689b777a6933 100644
--- a/PC/python3.def
+++ b/PC/python3.def
@@ -649,7 +649,6 @@ EXPORTS
PyUnicode_AsWideChar=python39.PyUnicode_AsWideChar
PyUnicode_AsWideCharString=python39.PyUnicode_AsWideCharString
PyUnicode_BuildEncodingMap=python39.PyUnicode_BuildEncodingMap
- PyUnicode_ClearFreeList=python39.PyUnicode_ClearFreeList
PyUnicode_Compare=python39.PyUnicode_Compare
PyUnicode_CompareWithASCIIString=python39.PyUnicode_CompareWithASCIIString
PyUnicode_Concat=python39.PyUnicode_Concat
More information about the Python-checkins
mailing list