diff options
author | shadchin <shadchin@yandex-team.com> | 2024-10-27 10:52:33 +0300 |
---|---|---|
committer | shadchin <shadchin@yandex-team.com> | 2024-10-27 11:03:47 +0300 |
commit | 1529383373617c6d14ad4972afdc46a5eb35f954 (patch) | |
tree | 229b7647fafadd4ee4b93d20e606c534ad697365 /contrib/tools/python3/Include/internal/pycore_unicodeobject.h | |
parent | 41d598c624442bf6918407466dac3316b8277347 (diff) | |
download | ydb-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.h | 15 |
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); |