summaryrefslogtreecommitdiffstats
path: root/Python/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/gc.c')
-rw-r--r--Python/gc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Python/gc.c b/Python/gc.c
index a37c1b1..a487388 100644
--- a/Python/gc.c
+++ b/Python/gc.c
@@ -2031,11 +2031,16 @@ gc_alloc(PyTypeObject *tp, size_t basicsize, size_t presize)
return op;
}
+
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;
}