diff options
author | Irit Katriel <1055913+iritkatriel@users.noreply.github.com> | 2023-11-02 10:18:43 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-02 10:18:43 +0000 |
commit | 52cc4af6ae9002f11605f91b672746c127494efd (patch) | |
tree | 1bb4c679b3e179fdb9ccbacff4316c98fd594e79 /Python/generated_cases.c.h | |
parent | 970e719a7a829bddc647bbaa668dd8603abdddef (diff) | |
download | cpython-52cc4af6ae9002f11605f91b672746c127494efd.tar.gz cpython-52cc4af6ae9002f11605f91b672746c127494efd.zip |
gh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1 (#111459)
Diffstat (limited to 'Python/generated_cases.c.h')
-rw-r--r-- | Python/generated_cases.c.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h index dc62d797ae7..38c368fcc10 100644 --- a/Python/generated_cases.c.h +++ b/Python/generated_cases.c.h @@ -35,7 +35,7 @@ next_instr = this_instr; } else { - if (oparg < RESUME_AFTER_YIELD_FROM) { + if ((oparg & RESUME_OPARG_LOCATION_MASK) < RESUME_AFTER_YIELD_FROM) { CHECK_EVAL_BREAKER(); } this_instr->op.code = RESUME_CHECK; @@ -71,7 +71,7 @@ next_instr = this_instr; } else { - if (oparg < 2) { + if ((oparg & RESUME_OPARG_LOCATION_MASK) < RESUME_AFTER_YIELD_FROM) { CHECK_EVAL_BREAKER(); } _PyFrame_SetStackPointer(frame, stack_pointer); @@ -1499,7 +1499,6 @@ PyObject *retval; retval = stack_pointer[-1]; assert(frame != &entry_frame); - assert(oparg >= 0); /* make the generator identify this as HAS_ARG */ frame->instr_ptr = next_instr; PyGenObject *gen = _PyFrame_GetGenerator(frame); gen->gi_frame_state = FRAME_SUSPENDED; @@ -1530,7 +1529,6 @@ // NOTE: It's important that YIELD_VALUE never raises an exception! // The compiler treats any exception raised here as a failed close() // or throw() call. - assert(oparg >= 0); /* make the generator identify this as HAS_ARG */ assert(frame != &entry_frame); frame->instr_ptr = next_instr; PyGenObject *gen = _PyFrame_GetGenerator(frame); |