• Tim Peters's avatar
    _PyObject_VAR_SIZE: always round up to a multiple-of-pointer-size value. · 6d483d34
    Tim Peters authored
    As Guido suggested, this makes the new subclassing code substantially
    simpler.  But the mechanics of doing it w/ C macro semantics are a mess,
    and _PyObject_VAR_SIZE has a new calling sequence now.
    
    Question:  The PyObject_NEW_VAR macro appears to be part of the public API.
    Regardless of what it expands to, the notion that it has to round up the
    memory it allocates is new, and extensions containing the old
    PyObject_NEW_VAR macro expansion (which was embedded in the
    PyObject_NEW_VAR expansion) won't do this rounding.  But the rounding
    isn't actually *needed* except for new-style instances with dict pointers
    after a variable-length blob of embedded data.  So my guess is that we do
    not need to bump the API version for this (as the rounding isn't needed
    for anything an extension can do unless it's recompiled anyway).  What's
    your guess?
    6d483d34
objimpl.h 12.9 KB