diff options
author | Mark Shannon <mark@hotpy.org> | 2023-05-18 09:08:33 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-18 09:08:33 (GMT) |
commit | 68b5f08b72e02f62ec787bfbb7aa99bac661daec (patch) | |
tree | 58c0b0e5d860e81bb29e024f6b7e2e3b6f2aa365 /Python/bytecodes.c | |
parent | 662aede68b0ea222cf3db4715b310e91c51b665f (diff) | |
download | cpython-68b5f08b72e02f62ec787bfbb7aa99bac661daec.zip cpython-68b5f08b72e02f62ec787bfbb7aa99bac661daec.tar.gz cpython-68b5f08b72e02f62ec787bfbb7aa99bac661daec.tar.bz2 |
GH-104580: Don't cache eval breaker in interpreter (GH-104581)
Move eval-breaker to the front of the interpreter state.
Diffstat (limited to 'Python/bytecodes.c')
-rw-r--r-- | Python/bytecodes.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Python/bytecodes.c b/Python/bytecodes.c index e92c5d8..f71a62e 100644 --- a/Python/bytecodes.c +++ b/Python/bytecodes.c @@ -70,7 +70,6 @@ dummy_func( _PyInterpreterFrame *frame, unsigned char opcode, unsigned int oparg, - _Py_atomic_int * const eval_breaker, _PyCFrame cframe, _Py_CODEUNIT *next_instr, PyObject **stack_pointer, @@ -143,7 +142,7 @@ dummy_func( ERROR_IF(err, error); next_instr--; } - else if (_Py_atomic_load_relaxed_int32(eval_breaker) && oparg < 2) { + else if (_Py_atomic_load_relaxed_int32(&tstate->interp->ceval.eval_breaker) && oparg < 2) { goto handle_eval_breaker; } } @@ -170,7 +169,7 @@ dummy_func( next_instr = frame->prev_instr; DISPATCH(); } - if (_Py_atomic_load_relaxed_int32(eval_breaker) && oparg < 2) { + if (_Py_atomic_load_relaxed_int32(&tstate->interp->ceval.eval_breaker) && oparg < 2) { goto handle_eval_breaker; } } |