<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Objects/call.c, branch fix-namedexpr-comment</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>bpo-38644: Add _PyEval_EvalCode() (GH-17183)</title>
<updated>2019-11-16T00:03:22+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-16T00:03:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=b5e170f127b57d5b0a4fb58f316acd6191509dce'/>
<id>b5e170f127b57d5b0a4fb58f316acd6191509dce</id>
<content type='text'>
_PyFunction_Vectorcall() now pass tstate to function calls.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
_PyFunction_Vectorcall() now pass tstate to function calls.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38644: Add _PyObject_Call() (GH-17089)</title>
<updated>2019-11-14T12:36:21+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-14T12:36:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=4d231bcc77ac8ce7d11bda0804130dcdd678f710'/>
<id>4d231bcc77ac8ce7d11bda0804130dcdd678f710</id>
<content type='text'>
* Add pycore_call.h internal header file.
* Add _PyObject_Call(): PyObject_Call() with tstate
* Add _PyObject_CallNoArgTstate(): _PyObject_CallNoArg() with tstate
* Add _PyObject_FastCallDictTstate(): _PyObject_FastCallDict()
  with tstate
* _PyObject_Call_Prepend() now takes tstate
* Replace _PyObject_FastCall() calls
  with _PyObject_VectorcallTstate() calls</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add pycore_call.h internal header file.
* Add _PyObject_Call(): PyObject_Call() with tstate
* Add _PyObject_CallNoArgTstate(): _PyObject_CallNoArg() with tstate
* Add _PyObject_FastCallDictTstate(): _PyObject_FastCallDict()
  with tstate
* _PyObject_Call_Prepend() now takes tstate
* Replace _PyObject_FastCall() calls
  with _PyObject_VectorcallTstate() calls</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38644: Add _PyEval_EvalFrame() with tstate (GH-17131)</title>
<updated>2019-11-14T11:20:46+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-14T11:20:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=b9e681261cd5ce6db0a79461c58d7cc52cfa4902'/>
<id>b9e681261cd5ce6db0a79461c58d7cc52cfa4902</id>
<content type='text'>
Add _PyEval_EvalFrame() static inline function to get eval_frame from
tstate-&gt;interp.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add _PyEval_EvalFrame() static inline function to get eval_frame from
tstate-&gt;interp.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38644: Add _PyObject_VectorcallTstate() (GH-17052)</title>
<updated>2019-11-08T09:05:17+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-08T09:05:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=7e433733175e76627d46ed9bdab543860cd1452d'/>
<id>7e433733175e76627d46ed9bdab543860cd1452d</id>
<content type='text'>
* Add _PyObject_VectorcallTstate() function: similar to
  _PyObject_Vectorcall(), but with tstate parameter
* Add tstate parameter to _PyObject_MakeTpCall()</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add _PyObject_VectorcallTstate() function: similar to
  _PyObject_Vectorcall(), but with tstate parameter
* Add tstate parameter to _PyObject_MakeTpCall()</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38733: PyErr_Occurred() caller must hold the GIL (GH-17080)</title>
<updated>2019-11-07T11:42:07+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-07T11:42:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=d12d0e7c0fe2b49c40ac4d66365147c619d6c475'/>
<id>d12d0e7c0fe2b49c40ac4d66365147c619d6c475</id>
<content type='text'>
bpo-3605, bpo-38733: Optimize _PyErr_Occurred(): remove "tstate ==
NULL" test.

Py_FatalError() no longer calls PyErr_Occurred() if called without
holding the GIL. So PyErr_Occurred() no longer has to support
tstate==NULL case.

_Py_CheckFunctionResult(): use directly _PyErr_Occurred() to avoid
explicit "!= NULL" test.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bpo-3605, bpo-38733: Optimize _PyErr_Occurred(): remove "tstate ==
NULL" test.

Py_FatalError() no longer calls PyErr_Occurred() if called without
holding the GIL. So PyErr_Occurred() no longer has to support
tstate==NULL case.

_Py_CheckFunctionResult(): use directly _PyErr_Occurred() to avoid
explicit "!= NULL" test.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38644: Pass tstate to _Py_CheckFunctionResult() (GH-17050)</title>
<updated>2019-11-05T00:22:12+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-05T00:22:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=17269090940aa20f6079a6b9f27ae319f8cdae14'/>
<id>17269090940aa20f6079a6b9f27ae319f8cdae14</id>
<content type='text'>
* Add tstate parameter to _Py_CheckFunctionResult()
* Add _PyErr_FormatFromCauseTstate()
* Replace PyErr_XXX(...) with _PyErr_XXX(state, ...)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add tstate parameter to _Py_CheckFunctionResult()
* Add _PyErr_FormatFromCauseTstate()
* Replace PyErr_XXX(...) with _PyErr_XXX(state, ...)</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38644: Pass tstate to Py_EnterRecursiveCall() (GH-16997)</title>
<updated>2019-11-04T23:51:22+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2019-11-04T23:51:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=be434dc0380d9f5c7c800de9943cc46d55fd9491'/>
<id>be434dc0380d9f5c7c800de9943cc46d55fd9491</id>
<content type='text'>
* Add _Py_EnterRecursiveCall() and _Py_LeaveRecursiveCall() which
  require a tstate argument.
* Pass tstate to _Py_MakeRecCheck() and  _Py_CheckRecursiveCall().
* Convert Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() macros
  to static inline functions.

_PyThreadState_GET() is the most efficient way to get the tstate, and
so using it with _Py_EnterRecursiveCall() and
_Py_LeaveRecursiveCall() should be a little bit more efficient than
using Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() which use
the "slower" PyThreadState_GET().</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add _Py_EnterRecursiveCall() and _Py_LeaveRecursiveCall() which
  require a tstate argument.
* Pass tstate to _Py_MakeRecCheck() and  _Py_CheckRecursiveCall().
* Convert Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() macros
  to static inline functions.

_PyThreadState_GET() is the most efficient way to get the tstate, and
so using it with _Py_EnterRecursiveCall() and
_Py_LeaveRecursiveCall() should be a little bit more efficient than
using Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() which use
the "slower" PyThreadState_GET().</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-37151: remove special case for PyCFunction from PyObject_Call (GH-14684)</title>
<updated>2019-09-11T11:01:01+00:00</updated>
<author>
<name>Jeroen Demeyer</name>
<email>J.Demeyer@UGent.be</email>
</author>
<published>2019-09-11T11:01:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=7a6873cdb1f496447ac5d57ae457eacbb56b7972'/>
<id>7a6873cdb1f496447ac5d57ae457eacbb56b7972</id>
<content type='text'>
bpo-37151: remove special case for PyCFunction from PyObject_Call

Alse, make the undocumented function PyCFunction_Call an alias
of PyObject_Call and deprecate it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bpo-37151: remove special case for PyCFunction from PyObject_Call

Alse, make the undocumented function PyCFunction_Call an alias
of PyObject_Call and deprecate it.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-37540: vectorcall: keyword names must be strings (GH-14682)</title>
<updated>2019-08-16T10:41:27+00:00</updated>
<author>
<name>Jeroen Demeyer</name>
<email>J.Demeyer@UGent.be</email>
</author>
<published>2019-08-16T10:41:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=0567786d26348aa7eaf0ab1b5d038fdabe409d92'/>
<id>0567786d26348aa7eaf0ab1b5d038fdabe409d92</id>
<content type='text'>
The fact that keyword names are strings is now part of the vectorcall and `METH_FASTCALL` protocols. The biggest concrete change is that `_PyStack_UnpackDict` now checks that and raises `TypeError` if not.

CC @markshannon @vstinner 


https://bugs.python.org/issue37540</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The fact that keyword names are strings is now part of the vectorcall and `METH_FASTCALL` protocols. The biggest concrete change is that `_PyStack_UnpackDict` now checks that and raises `TypeError` if not.

CC @markshannon @vstinner 


https://bugs.python.org/issue37540</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-29548: no longer use PyEval_Call* functions (GH-14683)</title>
<updated>2019-07-11T15:57:32+00:00</updated>
<author>
<name>Jeroen Demeyer</name>
<email>J.Demeyer@UGent.be</email>
</author>
<published>2019-07-11T15:57:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=1dbd084f1f68d7293718b663df675cfbd0c65712'/>
<id>1dbd084f1f68d7293718b663df675cfbd0c65712</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
