Skip to content

Commit

Permalink
pythongh-94438: in frameobject's mark_stacks switch, the PUSH_EXC_INF…
Browse files Browse the repository at this point in the history
…O and POP_EXCEPT cases are no longer reachable
  • Loading branch information
iritkatriel committed Jul 5, 2022
1 parent 2b8ed4d commit 9efd9e0
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions Objects/frameobject.c
Original file line number Diff line number Diff line change
Expand Up @@ -256,10 +256,6 @@ mark_stacks(PyCodeObject *code_obj, int len)
stacks[i+1] = next_stack;
break;
}
case POP_EXCEPT:
next_stack = pop_value(pop_value(pop_value(next_stack)));
stacks[i+1] = next_stack;
break;
case SEND:
j = get_arg(code, i) + i + 1;
assert(j < len);
Expand Down Expand Up @@ -304,10 +300,12 @@ mark_stacks(PyCodeObject *code_obj, int len)
stacks[i+1] = next_stack;
break;
case PUSH_EXC_INFO:
next_stack = push_value(next_stack, Except);
next_stack = push_value(next_stack, Except);
next_stack = push_value(next_stack, Except);
stacks[i+1] = next_stack;
case POP_EXCEPT:
/* These instructions only appear in exception handlers, which
* skip this switch ever since the move to zero-cost exceptions
* (their stack remains UNINITIALIZED because nothing sets it).
*/
Py_UNREACHABLE();
case RETURN_VALUE:
case RAISE_VARARGS:
case RERAISE:
Expand Down

0 comments on commit 9efd9e0

Please sign in to comment.