aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Include/internal/pycore_unicodeobject.h
diff options
context:
space:
mode:
authorshadchin <shadchin@yandex-team.com>2024-10-27 10:52:33 +0300
committershadchin <shadchin@yandex-team.com>2024-10-27 11:03:47 +0300
commit1529383373617c6d14ad4972afdc46a5eb35f954 (patch)
tree229b7647fafadd4ee4b93d20e606c534ad697365 /contrib/tools/python3/Include/internal/pycore_unicodeobject.h
parent41d598c624442bf6918407466dac3316b8277347 (diff)
downloadydb-1529383373617c6d14ad4972afdc46a5eb35f954.tar.gz
Update Python 3 to 3.12.7
commit_hash:052a122399d67f1ea5dfbc5f6457e3e06200becf
Diffstat (limited to 'contrib/tools/python3/Include/internal/pycore_unicodeobject.h')
-rw-r--r--contrib/tools/python3/Include/internal/pycore_unicodeobject.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/contrib/tools/python3/Include/internal/pycore_unicodeobject.h b/contrib/tools/python3/Include/internal/pycore_unicodeobject.h
index 1bb0f366e7..44eccdea55 100644
--- a/contrib/tools/python3/Include/internal/pycore_unicodeobject.h
+++ b/contrib/tools/python3/Include/internal/pycore_unicodeobject.h
@@ -13,17 +13,31 @@ extern "C" {
void _PyUnicode_ExactDealloc(PyObject *op);
Py_ssize_t _PyUnicode_InternedSize(void);
+Py_ssize_t _PyUnicode_InternedSize_Immortal(void);
/* runtime lifecycle */
extern void _PyUnicode_InitState(PyInterpreterState *);
extern PyStatus _PyUnicode_InitGlobalObjects(PyInterpreterState *);
+extern PyStatus _PyUnicode_InitInternDict(PyInterpreterState *);
extern PyStatus _PyUnicode_InitTypes(PyInterpreterState *);
extern void _PyUnicode_Fini(PyInterpreterState *);
extern void _PyUnicode_FiniTypes(PyInterpreterState *);
extern PyTypeObject _PyUnicodeASCIIIter_Type;
+/* Interning */
+
+// All these are "ref-neutral", like the public PyUnicode_InternInPlace.
+
+// Explicit interning routines:
+PyAPI_FUNC(void) _PyUnicode_InternMortal(PyInterpreterState *interp, PyObject **);
+PyAPI_FUNC(void) _PyUnicode_InternImmortal(PyInterpreterState *interp, PyObject **);
+// Left here to help backporting:
+PyAPI_FUNC(void) _PyUnicode_InternInPlace(PyInterpreterState *interp, PyObject **p);
+// Only for statically allocated strings:
+extern void _PyUnicode_InternStatic(PyInterpreterState *interp, PyObject **);
+
/* other API */
struct _Py_unicode_runtime_ids {
@@ -60,7 +74,6 @@ struct _Py_unicode_state {
struct _Py_unicode_ids ids;
};
-extern void _PyUnicode_InternInPlace(PyInterpreterState *interp, PyObject **p);
extern void _PyUnicode_ClearInterned(PyInterpreterState *interp);