mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Repaired the debug Windows deaths in test_descr, by allocating enough
pad memory to properly align the __dict__ pointer in all cases. gcmodule.c/objimpl.h, _PyObject_GC_Malloc: + Added a "padding" argument so that this flavor of malloc can allocate enough bytes for alignment padding (it can't know this is needed, but its callers do). typeobject.c, PyType_GenericAlloc: + Allocated enough bytes to align the __dict__ pointer. + Sped and simplified the round-up-to-PTRSIZE logic. + Added blank lines so I could parse the if/else blocks <0.7 wink>.
This commit is contained in:
parent
7254e5a3ed
commit
406fe3b1c0
3 changed files with 33 additions and 21 deletions
|
@ -230,7 +230,8 @@ extern DL_IMPORT(void) _PyObject_Del(PyObject *);
|
|||
#define PyObject_IS_GC(o) (PyType_IS_GC((o)->ob_type) && \
|
||||
((o)->ob_type->tp_is_gc == NULL || (o)->ob_type->tp_is_gc(o)))
|
||||
|
||||
extern DL_IMPORT(PyObject *) _PyObject_GC_Malloc(PyTypeObject *, int);
|
||||
extern DL_IMPORT(PyObject *) _PyObject_GC_Malloc(PyTypeObject *,
|
||||
int nitems, size_t padding);
|
||||
extern DL_IMPORT(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, int);
|
||||
|
||||
#define PyObject_GC_Resize(type, op, n) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue