• Victor Stinner's avatar
    bpo-36710: Add 'ceval' local variable to ceval.c (GH-12934) · 09532fee
    Victor Stinner yazdı
    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.
    09532fee