summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/c-api/unicode.rst5
-rw-r--r--Doc/whatsnew/3.9.rst4
-rw-r--r--Include/unicodeobject.h11
-rw-r--r--Misc/NEWS.d/next/C API/2019-11-22-19-43-43.bpo-38896.6wvNMJ.rst2
-rw-r--r--Modules/gcmodule.c1
-rw-r--r--Objects/unicodeobject.c9
-rw-r--r--PC/python3.def1
7 files changed, 6 insertions, 27 deletions
diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst
index 2bf4a0f..77f123c 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 281173e..a3ad98d 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 97d8cd1..4dea494 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 0000000..c5e108d
--- /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 d232179..64afe83 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 89e45d0..7776019 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 1f355bf..4689b77 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