diff options
author | Donghee Na <donghee.na@python.org> | 2024-01-10 15:47:13 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-10 15:47:13 (GMT) |
commit | f728f7242c6008a16daaa5dde8e1db786857c50e (patch) | |
tree | 5e6dd8e921e432c9de0b0d8f60805ec03a8584eb /Include/internal/pycore_floatobject.h | |
parent | a0c9cf9456c2ee7a89d9bd859c07afac8cf5e893 (diff) | |
download | cpython-f728f7242c6008a16daaa5dde8e1db786857c50e.zip cpython-f728f7242c6008a16daaa5dde8e1db786857c50e.tar.gz cpython-f728f7242c6008a16daaa5dde8e1db786857c50e.tar.bz2 |
gh-111968: Use per-thread freelists for float in free-threading (gh-113886)
Diffstat (limited to 'Include/internal/pycore_floatobject.h')
-rw-r--r-- | Include/internal/pycore_floatobject.h | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/Include/internal/pycore_floatobject.h b/Include/internal/pycore_floatobject.h index 4e54748..038578e 100644 --- a/Include/internal/pycore_floatobject.h +++ b/Include/internal/pycore_floatobject.h @@ -8,14 +8,14 @@ extern "C" { # error "this header requires Py_BUILD_CORE define" #endif - +#include "pycore_freelist.h" // _PyFreeListState #include "pycore_unicodeobject.h" // _PyUnicodeWriter /* runtime lifecycle */ extern void _PyFloat_InitState(PyInterpreterState *); extern PyStatus _PyFloat_InitTypes(PyInterpreterState *); -extern void _PyFloat_Fini(PyInterpreterState *); +extern void _PyFloat_Fini(_PyFreeListState *); extern void _PyFloat_FiniType(PyInterpreterState *); @@ -33,24 +33,7 @@ struct _Py_float_runtime_state { }; -#ifndef WITH_FREELISTS -// without freelists -# define PyFloat_MAXFREELIST 0 -#endif - -#ifndef PyFloat_MAXFREELIST -# define PyFloat_MAXFREELIST 100 -#endif -struct _Py_float_state { -#if PyFloat_MAXFREELIST > 0 - /* Special free list - free_list is a singly-linked list of available PyFloatObjects, - linked via abuse of their ob_type members. */ - int numfree; - PyFloatObject *free_list; -#endif -}; void _PyFloat_ExactDealloc(PyObject *op); |