The PyObject_GC_Resize implementation in the main branch doesn't check if the object has a preheader:
|
PyGC_Head *g = AS_GC(op); |
|
g = (PyGC_Head *)PyObject_Realloc(g, sizeof(PyGC_Head) + basicsize); |
The only internal use I see is by _PyTuple_Resize which doesn't have a preheader, but the PyObject_GC_Resize function is publicly documented.
Linked PRs