diff options
author | Mark Shannon <mark@hotpy.org> | 2024-04-02 11:59:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-02 11:59:21 +0100 |
commit | c32dc47aca6e8fac152699bc613e015c44ccdba9 (patch) | |
tree | e183f7c56ad5e081879c3dd75f7e11887fe7e26c /Python/gc_free_threading.c | |
parent | c97d3af2391e62ef456ef2365d48ab9b8cdbe27b (diff) | |
download | cpython-c32dc47aca6e8fac152699bc613e015c44ccdba9.tar.gz cpython-c32dc47aca6e8fac152699bc613e015c44ccdba9.zip |
GH-115776: Embed the values array into the object, for "normal" Python objects. (GH-116115)
Diffstat (limited to 'Python/gc_free_threading.c')
-rw-r--r-- | Python/gc_free_threading.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Python/gc_free_threading.c b/Python/gc_free_threading.c index 4524382e4f6..7e4137a8e34 100644 --- a/Python/gc_free_threading.c +++ b/Python/gc_free_threading.c @@ -1639,7 +1639,11 @@ PyObject * _PyObject_GC_New(PyTypeObject *tp) { size_t presize = _PyType_PreHeaderSize(tp); - PyObject *op = gc_alloc(tp, _PyObject_SIZE(tp), presize); + size_t size = _PyObject_SIZE(tp); + if (_PyType_HasFeature(tp, Py_TPFLAGS_INLINE_VALUES)) { + size += _PyInlineValuesSize(tp); + } + PyObject *op = gc_alloc(tp, size, presize); if (op == NULL) { return NULL; } |