<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Objects/enumobject.c, branch misc-acks-comment</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>bpo-36974: tp_print -&gt; tp_vectorcall_offset and tp_reserved -&gt; tp_as_async (GH-13464)</title>
<updated>2019-05-31T02:13:39+00:00</updated>
<author>
<name>Jeroen Demeyer</name>
<email>J.Demeyer@UGent.be</email>
</author>
<published>2019-05-31T02:13:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=530f506ac91338b55cf2be71b1cdf50cb077512f'/>
<id>530f506ac91338b55cf2be71b1cdf50cb077512f</id>
<content type='text'>
Automatically replace
tp_print -&gt; tp_vectorcall_offset
tp_compare -&gt; tp_as_async
tp_reserved -&gt; tp_as_async
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Automatically replace
tp_print -&gt; tp_vectorcall_offset
tp_compare -&gt; tp_as_async
tp_reserved -&gt; tp_as_async
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030)</title>
<updated>2018-04-29T18:59:33+00:00</updated>
<author>
<name>Siddhesh Poyarekar</name>
<email>siddhesh.poyarekar@gmail.com</email>
</author>
<published>2018-04-29T18:59:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=55edd0c185ad2d895b5d73e47d67049bc156b654'/>
<id>55edd0c185ad2d895b5d73e47d67049bc156b654</id>
<content type='text'>
METH_NOARGS functions need only a single argument but they are cast
into a PyCFunction, which takes two arguments.  This triggers an
invalid function cast warning in gcc8 due to the argument mismatch.
Fix this by adding a dummy unused argument.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
METH_NOARGS functions need only a single argument but they are cast
into a PyCFunction, which takes two arguments.  This triggers an
invalid function cast warning in gcc8 due to the argument mismatch.
Fix this by adding a dummy unused argument.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-31579: Fixed a possible leak in enumerate() with large indices. (#3753)</title>
<updated>2017-09-26T05:14:58+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2017-09-26T05:14:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=0e950dd22b075b4809c84afda8aede02b76ac0fa'/>
<id>0e950dd22b075b4809c84afda8aede02b76ac0fa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-26491 Defer DECREFs until enumobject is in a consistent state (#3747)</title>
<updated>2017-09-25T09:15:53+00:00</updated>
<author>
<name>Raymond Hettinger</name>
<email>rhettinger@users.noreply.github.com</email>
</author>
<published>2017-09-25T09:15:53+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=8110dbd470f3daa4de58dda66d360e3c26d3b94f'/>
<id>8110dbd470f3daa4de58dda66d360e3c26d3b94f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-29878: Add global instances of int for 0 and 1. (#852)</title>
<updated>2017-03-30T06:09:41+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2017-03-30T06:09:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=ba85d69a3e3610bdd05f0dd372cf4ebca178c7fb'/>
<id>ba85d69a3e3610bdd05f0dd372cf4ebca178c7fb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Issue #20186: Converted builtins enumerate() and reversed() to Argument Clinic.</title>
<updated>2017-01-19T16:48:17+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2017-01-19T16:48:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=41baebd8b94c44646bd80c3c0519e757c00940f5'/>
<id>41baebd8b94c44646bd80c3c0519e757c00940f5</id>
<content type='text'>
Patch by Tal Einat.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Patch by Tal Einat.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use _PyObject_CallNoArg()</title>
<updated>2016-12-06T17:46:19+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2016-12-06T17:46:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=f17c3de2635df4f5a51c2cb6b99f3e125af19864'/>
<id>f17c3de2635df4f5a51c2cb6b99f3e125af19864</id>
<content type='text'>
Replace:
    PyObject_CallFunctionObjArgs(callable, NULL)
with:
    _PyObject_CallNoArg(callable)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace:
    PyObject_CallFunctionObjArgs(callable, NULL)
with:
    _PyObject_CallNoArg(callable)
</pre>
</div>
</content>
</entry>
<entry>
<title>Backed out changeset b9c9691c72c5</title>
<updated>2016-12-04T21:59:09+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2016-12-04T21:59:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=de4ae3d4869e88dda8bfbad24880cb398160a7a0'/>
<id>de4ae3d4869e88dda8bfbad24880cb398160a7a0</id>
<content type='text'>
Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like
_PyObject_CallArg1() uses more stack memory than
PyObject_CallFunctionObjArgs().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like
_PyObject_CallArg1() uses more stack memory than
PyObject_CallFunctionObjArgs().
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace PyObject_CallFunctionObjArgs() with fastcall</title>
<updated>2016-12-01T13:43:22+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>victor.stinner@gmail.com</email>
</author>
<published>2016-12-01T13:43:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=27580c1fb5e8cb756304f523006d832d2e3532e7'/>
<id>27580c1fb5e8cb756304f523006d832d2e3532e7</id>
<content type='text'>
* PyObject_CallFunctionObjArgs(func, NULL) =&gt; _PyObject_CallNoArg(func)
* PyObject_CallFunctionObjArgs(func, arg, NULL) =&gt; _PyObject_CallArg1(func, arg)

PyObject_CallFunctionObjArgs() allocates 40 bytes on the C stack and requires
extra work to "parse" C arguments to build a C array of PyObject*.

_PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate
memory on the C stack.

This change is part of the fastcall project. The change on listsort() is
related to the issue #23507.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PyObject_CallFunctionObjArgs(func, NULL) =&gt; _PyObject_CallNoArg(func)
* PyObject_CallFunctionObjArgs(func, arg, NULL) =&gt; _PyObject_CallArg1(func, arg)

PyObject_CallFunctionObjArgs() allocates 40 bytes on the C stack and requires
extra work to "parse" C arguments to build a C array of PyObject*.

_PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate
memory on the C stack.

This change is part of the fastcall project. The change on listsort() is
related to the issue #23507.
</pre>
</div>
</content>
</entry>
<entry>
<title>Anti-registration of various ABC methods.</title>
<updated>2016-08-18T16:22:23+00:00</updated>
<author>
<name>Guido van Rossum</name>
<email>guido@dropbox.com</email>
</author>
<published>2016-08-18T16:22:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=97c1adf3935234da716d3289b85f72dcd67e90c2'/>
<id>97c1adf3935234da716d3289b85f72dcd67e90c2</id>
<content type='text'>
- Issue #25958: Support "anti-registration" of special methods from
  various ABCs, like __hash__, __iter__ or __len__.  All these (and
  several more) can be set to None in an implementation class and the
  behavior will be as if the method is not defined at all.
  (Previously, this mechanism existed only for __hash__, to make
  mutable classes unhashable.)  Code contributed by Andrew Barnert and
  Ivan Levkivskyi.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Issue #25958: Support "anti-registration" of special methods from
  various ABCs, like __hash__, __iter__ or __len__.  All these (and
  several more) can be set to None in an implementation class and the
  behavior will be as if the method is not defined at all.
  (Previously, this mechanism existed only for __hash__, to make
  mutable classes unhashable.)  Code contributed by Andrew Barnert and
  Ivan Levkivskyi.
</pre>
</div>
</content>
</entry>
</feed>
