<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython.git/Objects/obmalloc.c, branch v2.5b2</title>
<subtitle>
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/'/>
<entry>
<title>_PyObject_DebugMalloc():  The return value should add</title>
<updated>2006-06-04T03:38:04+00:00</updated>
<author>
<name>Tim Peters</name>
<email>tim.peters@gmail.com</email>
</author>
<published>2006-06-04T03:38:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=950b6d82bddb7b1293a186e45685b73fc5c2df70'/>
<id>950b6d82bddb7b1293a186e45685b73fc5c2df70</id>
<content type='text'>
2*sizeof(size_t) now, not 8.  This probably accounts for
current disasters on the 64-bit buildbot slaves.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2*sizeof(size_t) now, not 8.  This probably accounts for
current disasters on the 64-bit buildbot slaves.
</pre>
</div>
</content>
</entry>
<entry>
<title>In a PYMALLOC_DEBUG build obmalloc adds extra debugging info</title>
<updated>2006-06-04T03:26:02+00:00</updated>
<author>
<name>Tim Peters</name>
<email>tim.peters@gmail.com</email>
</author>
<published>2006-06-04T03:26:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=55835d38435731b1dba0e6a4c5d6974b168eb900'/>
<id>55835d38435731b1dba0e6a4c5d6974b168eb900</id>
<content type='text'>
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
&gt;= 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
&gt;= 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Get compiling again</title>
<updated>2006-04-11T07:58:54+00:00</updated>
<author>
<name>Neal Norwitz</name>
<email>nnorwitz@gmail.com</email>
</author>
<published>2006-04-11T07:58:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=96ab1d571e321409cb6a2547b2db48a31f8c7a8b'/>
<id>96ab1d571e321409cb6a2547b2db48a31f8c7a8b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>More low-hanging fruit. Still need to re-arrange some code (or find a better</title>
<updated>2006-04-11T07:42:36+00:00</updated>
<author>
<name>Anthony Baxter</name>
<email>anthonybaxter@gmail.com</email>
</author>
<published>2006-04-11T07:42:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=ce14db458dd58f4d1ec0b60a9e82c1e76174e1f8'/>
<id>ce14db458dd58f4d1ec0b60a9e82c1e76174e1f8</id>
<content type='text'>
solution) in the same way as listobject.c got changed. Hoping for a better
solution.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
solution) in the same way as listobject.c got changed. Hoping for a better
solution.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge the tim-obmalloc branch to the trunk.</title>
<updated>2006-03-16T01:14:46+00:00</updated>
<author>
<name>Tim Peters</name>
<email>tim.peters@gmail.com</email>
</author>
<published>2006-03-16T01:14:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=6714272a71828a1ae0a3509fbacc2b1d8bc8d55b'/>
<id>6714272a71828a1ae0a3509fbacc2b1d8bc8d55b</id>
<content type='text'>
This is a heavily altered derivative of SF patch 1123430, Evan
Jones's heroic effort to make obmalloc return unused arenas to
the system free(), with some heuristic strategies to make it
more likley that arenas eventually _can_ be freed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a heavily altered derivative of SF patch 1123430, Evan
Jones's heroic effort to make obmalloc return unused arenas to
the system free(), with some heuristic strategies to make it
more likley that arenas eventually _can_ be freed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Oops, this is supposed to be disabled by default.</title>
<updated>2006-02-16T07:30:11+00:00</updated>
<author>
<name>Neal Norwitz</name>
<email>nnorwitz@gmail.com</email>
</author>
<published>2006-02-16T07:30:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=55d17288240d13a8128077ea4e0b62dd0dea078f'/>
<id>55d17288240d13a8128077ea4e0b62dd0dea078f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge ssize_t branch.</title>
<updated>2006-02-15T17:27:45+00:00</updated>
<author>
<name>Martin v. Löwis</name>
<email>martin@v.loewis.de</email>
</author>
<published>2006-02-15T17:27:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=26a6348f77faff1083d501950812ea9f68eb9547'/>
<id>26a6348f77faff1083d501950812ea9f68eb9547</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Do a better job of not inlining Py_ADDRESS_IN_RANGE() for newer gcc's.</title>
<updated>2005-11-13T18:55:39+00:00</updated>
<author>
<name>Neal Norwitz</name>
<email>nnorwitz@gmail.com</email>
</author>
<published>2005-11-13T18:55:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=a20f2203af1d26654866942749292f9b78f33371'/>
<id>a20f2203af1d26654866942749292f9b78f33371</id>
<content type='text'>
Perhaps Py_NO_INLINE should be moved to pyport.h or some other header?
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Perhaps Py_NO_INLINE should be moved to pyport.h or some other header?
</pre>
</div>
</content>
</entry>
<entry>
<title>SF bug 1185883:  PyObject_Realloc can't safely take over a block currently</title>
<updated>2005-07-10T22:30:55+00:00</updated>
<author>
<name>Tim Peters</name>
<email>tim.peters@gmail.com</email>
</author>
<published>2005-07-10T22:30:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=0cba1bd5c8214ce70f96e120502bd67b087a2398'/>
<id>0cba1bd5c8214ce70f96e120502bd67b087a2398</id>
<content type='text'>
managed by C, because it's possible for the block to be smaller than the
new requested size, and at the end of allocated VM.  Trying to copy over
nbytes bytes to a Python small-object block can segfault then, and there's
no portable way to avoid this (we would have to know how many bytes
starting at p are addressable, and std C has no means to determine that).

Bugfix candidate.  Should be backported to 2.4, but I'm out of time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
managed by C, because it's possible for the block to be smaller than the
new requested size, and at the end of allocated VM.  Trying to copy over
nbytes bytes to a Python small-object block can segfault then, and there's
no portable way to avoid this (we would have to know how many bytes
starting at p are addressable, and std C has no means to determine that).

Bugfix candidate.  Should be backported to 2.4, but I'm out of time.
</pre>
</div>
</content>
</entry>
<entry>
<title>whoops, I wanted that commented out by default, will add doc to Misc</title>
<updated>2004-06-06T19:21:34+00:00</updated>
<author>
<name>Neal Norwitz</name>
<email>nnorwitz@gmail.com</email>
</author>
<published>2004-06-06T19:21:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=b221b23fb0ecbbc9425c97ad850fcd2f33cc3a3a'/>
<id>b221b23fb0ecbbc9425c97ad850fcd2f33cc3a3a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
