<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Include/objimpl.h, branch v2.5.4</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/'/>
<entry>
<title>frame_traverse():  Use the standard Py_VISIT macro.</title>
<updated>2006-04-15T03:22:46+00:00</updated>
<author>
<name>Tim Peters</name>
<email>tim.peters@gmail.com</email>
</author>
<published>2006-04-15T03:22:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=de2acf6512caeacd1ad53e55aa0528f65d1201c7'/>
<id>de2acf6512caeacd1ad53e55aa0528f65d1201c7</id>
<content type='text'>
Py_VISIT:  cast the `op` argument to PyObject* when calling
`visit()`.  Else the caller has to pay too much attention to
this silly detail (e.g., frame_traverse needs to traverse
`struct _frame *` and `PyCodeObject *` pointers too).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Py_VISIT:  cast the `op` argument to PyObject* when calling
`visit()`.  Else the caller has to pay too much attention to
this silly detail (e.g., frame_traverse needs to traverse
`struct _frame *` and `PyCodeObject *` pointers too).
</pre>
</div>
</content>
</entry>
<entry>
<title>Years in the making.</title>
<updated>2006-03-26T23:27:58+00:00</updated>
<author>
<name>Tim Peters</name>
<email>tim.peters@gmail.com</email>
</author>
<published>2006-03-26T23:27:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=c9d78aa4709f5a0134bfbf280f637d96e7a6cabd'/>
<id>c9d78aa4709f5a0134bfbf280f637d96e7a6cabd</id>
<content type='text'>
objimpl.h, pymem.h:  Stop mapping PyMem_{Del, DEL} and PyMem_{Free, FREE}
to PyObject_{Free, FREE} in a release build.  They're aliases for the
system free() now.

_subprocess.c/sp_handle_dealloc():  Since the memory was originally
obtained via PyObject_NEW, it must be released via PyObject_FREE (or
_DEL).

pythonrun.c, tokenizer.c, parsermodule.c:  I lost count of the number of
PyObject vs PyMem mismatches in these -- it's like the specific
function called at each site was picked at random, sometimes even with
memory obtained via PyMem getting released via PyObject.  Changed most
to use PyObject uniformly, since the blobs allocated are predictably
small in most cases, and obmalloc is generally faster than system
mallocs then.

If extension modules in real life prove as sloppy as Python's front
end, we'll have to revert the objimpl.h + pymem.h part of this patch.
Note that no problems will show up in a debug build (all calls still go
thru obmalloc then). Problems will show up only in a release build, most
likely segfaults.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
objimpl.h, pymem.h:  Stop mapping PyMem_{Del, DEL} and PyMem_{Free, FREE}
to PyObject_{Free, FREE} in a release build.  They're aliases for the
system free() now.

_subprocess.c/sp_handle_dealloc():  Since the memory was originally
obtained via PyObject_NEW, it must be released via PyObject_FREE (or
_DEL).

pythonrun.c, tokenizer.c, parsermodule.c:  I lost count of the number of
PyObject vs PyMem mismatches in these -- it's like the specific
function called at each site was picked at random, sometimes even with
memory obtained via PyMem getting released via PyObject.  Changed most
to use PyObject uniformly, since the blobs allocated are predictably
small in most cases, and obmalloc is generally faster than system
mallocs then.

If extension modules in real life prove as sloppy as Python's front
end, we'll have to revert the objimpl.h + pymem.h part of this patch.
Note that no problems will show up in a debug build (all calls still go
thru obmalloc then). Problems will show up only in a release build, most
likely segfaults.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make PyGC_Collect() use Py_ssize_t.</title>
<updated>2006-03-04T20:01:53+00:00</updated>
<author>
<name>Neal Norwitz</name>
<email>nnorwitz@gmail.com</email>
</author>
<published>2006-03-04T20:01:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=7b216c52e431360a630be65c349b113a0486121d'/>
<id>7b216c52e431360a630be65c349b113a0486121d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change GC refcount to Py_ssize_t.</title>
<updated>2006-03-01T16:56:25+00:00</updated>
<author>
<name>Martin v. Löwis</name>
<email>martin@v.loewis.de</email>
</author>
<published>2006-03-01T16:56:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=6db0e00d571781806cb850088365730fa64e80a6'/>
<id>6db0e00d571781806cb850088365730fa64e80a6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change _PyObject_GC_Resize to expect Py_ssize_t.</title>
<updated>2006-02-16T14:56:14+00:00</updated>
<author>
<name>Martin v. Löwis</name>
<email>martin@v.loewis.de</email>
</author>
<published>2006-02-16T14:56:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=41290685f9d5c7aed544bd5db90914ab82f9d213'/>
<id>41290685f9d5c7aed544bd5db90914ab82f9d213</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.git/commit/?id=18e165558b24d29e7e0ca501842b9236589b012a'/>
<id>18e165558b24d29e7e0ca501842b9236589b012a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix PyGC_Collect() to be exported from the built DLL on Windows.  (Fix given</title>
<updated>2006-01-26T18:59:06+00:00</updated>
<author>
<name>Barry Warsaw</name>
<email>barry@python.org</email>
</author>
<published>2006-01-26T18:59:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=b941825fa20a87c7544735fea9e678e17fde2b2d'/>
<id>b941825fa20a87c7544735fea9e678e17fde2b2d</id>
<content type='text'>
by Matt Messier).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
by Matt Messier).
</pre>
</div>
</content>
</entry>
<entry>
<title>[ 1243081 ] repair typos</title>
<updated>2005-07-22T18:39:19+00:00</updated>
<author>
<name>Georg Brandl</name>
<email>georg@python.org</email>
</author>
<published>2005-07-22T18:39:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=08c02dbb85a8eebe3395658260dec36dd4169381'/>
<id>08c02dbb85a8eebe3395658260dec36dd4169381</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Formalize that the Py_VISIT macro requires that the tp_traverse</title>
<updated>2004-07-15T04:05:59+00:00</updated>
<author>
<name>Tim Peters</name>
<email>tim.peters@gmail.com</email>
</author>
<published>2004-07-15T04:05:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=eda29306b34303af2b79366c12f54a223029c165'/>
<id>eda29306b34303af2b79366c12f54a223029c165</id>
<content type='text'>
implementation it's used in must give its arguments specific names.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
implementation it's used in must give its arguments specific names.
</pre>
</div>
</content>
</entry>
<entry>
<title>Documented the new Py_VISIT macro to simplify implementation of</title>
<updated>2004-07-14T19:08:17+00:00</updated>
<author>
<name>Jim Fulton</name>
<email>jim@zope.com</email>
</author>
<published>2004-07-14T19:08:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=aa6389e13be460cce1f16f2a525ba8754737d30b'/>
<id>aa6389e13be460cce1f16f2a525ba8754737d30b</id>
<content type='text'>
tp_traverse handlers. (Tim made me do it. ;)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tp_traverse handlers. (Tim made me do it. ;)
</pre>
</div>
</content>
</entry>
</feed>
