]> granicus.if.org Git - python/commit
In a PYMALLOC_DEBUG build obmalloc adds extra debugging info
authorTim Peters <tim.peters@gmail.com>
Sun, 4 Jun 2006 03:26:02 +0000 (03:26 +0000)
committerTim Peters <tim.peters@gmail.com>
Sun, 4 Jun 2006 03:26:02 +0000 (03:26 +0000)
commit9ea89d2a1972a527bee508c3fb8cd42a86908da1
tree5c7fde601340022e7f87e91efbda09b137a8babd
parentc65a13f53befbe78d437bba68ef6621dd35083a7
In a PYMALLOC_DEBUG build obmalloc adds extra debugging info
to each allocated block.  This was using 4 bytes for each such
piece of info regardless of platform.  This didn't really matter
before (proof: no bug reports, and the debug-build obmalloc would
have assert-failed if it was ever asked for a chunk of memory
>= 2**32 bytes), since container indices were plain ints.  But after
the Py_ssize_t changes, it's at least theoretically possible to
allocate a list or string whose guts exceed 2**32 bytes, and the
PYMALLOC_DEBUG routines would fail then (having only 4 bytes
to record the originally requested size).

Now we use sizeof(size_t) bytes for each of a PYMALLOC_DEBUG
build's extra debugging fields.  This won't make any difference
on 32-bit boxes, but will add 16 bytes to each allocation in
a debug build on a 64-bit box.
Misc/NEWS
Misc/SpecialBuilds.txt
Objects/obmalloc.c