]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-36710: Add 'ceval' local variable to ceval.c (GH-12934)
authorVictor Stinner <vstinner@redhat.com>
Fri, 10 May 2019 21:39:09 +0000 (23:39 +0200)
committerGitHub <noreply@github.com>
Fri, 10 May 2019 21:39:09 +0000 (23:39 +0200)
commit09532feeece39d5ba68a0d47115ce1967bfbd58e
tree95224bb8455ae1d824f7d05fad29d542058eab6d
parentf22cc69b012f52882d434a5c44a004bc3aa5c33c
bpo-36710: Add 'ceval' local variable to ceval.c (GH-12934)

Add "struct _ceval_runtime_state *ceval = &_PyRuntime.ceval;" local
variables to function to better highlight the dependency on the
global variable _PyRuntime and to point directly to _PyRuntime.ceval
field rather than on the larger _PyRuntime.

Changes:

* Add _PyRuntimeState_GetThreadState(runtime) macro.
* Add _PyEval_AddPendingCall(ceval, ...) and
  _PyThreadState_Swap(gilstate, ...) functions.
* _PyThreadState_GET() macro now calls
  _PyRuntimeState_GetThreadState() using &_PyRuntime.
* Add 'ceval' parameter to COMPUTE_EVAL_BREAKER(),
  SIGNAL_PENDING_SIGNALS(), _PyEval_SignalAsyncExc(),
  _PyEval_SignalReceived() and _PyEval_FiniThreads() macros and
  functions.
* Add 'tstate' parameter to call_function(), do_call_core() and
  do_raise().
* Add 'runtime' parameter to _Py_CURRENTLY_FINALIZING(),
  _Py_FinishPendingCalls() and _PyThreadState_DeleteExcept()
  macros and functions.
* Declare 'runtime', 'tstate', 'ceval' and 'eval_breaker' variables
  as constant.
Include/ceval.h
Include/internal/pycore_ceval.h
Include/internal/pycore_pystate.h
Modules/signalmodule.c
Python/ceval.c
Python/ceval_gil.h
Python/pylifecycle.c
Python/pystate.c