Tim Peters wrote:
> Guido and I sat down and hashed this out Tuesday afternoon. Here's what I
> think Revealed Truth was.
Very good. Spelling out the rules was long overdue.
> Note that the eight ways to spell "free" all have to map to the pymalloc
> free when pymalloc is enabled in 2.3. There is no way to spell "give me the
> raw platform free(), damn it", except for "free".
I guess we need to do something special for pymalloc free() if
PYMALLOC_DEBUG is defined.
> We don't promise anything about the internals of the object allocator.
Good. Someone might write platform specific versions that use mmap or
something.
> Recommended Practice
>> When backward compatibility is not a concern, using this subset of
> the raw memory and object memory APIs is recommended:
>> PyMem_{Malloc, Realloc, Free}
> PyObject_{Malloc, Realloc, Free}
> PyObject_{New, NewVar}
This should probably come up front in the documentation. All the rest
is historical crap. :-)
Neil