Just happened to notice this while poking around; given #12 I haven't been able to really verify this fix yet, but I'm pretty sure it's correct. If a MAKE_FUNCTION oparg has the co_annotations flag set, that MAKE_FUNCTION opcode will consume one more element off the stack than it otherwise would, and if this isn't reflected in stack_effect(), it will result in an overestimation of the needed stack size.
Just happened to notice this while poking around; given #12 I haven't been able to really verify this fix yet, but I'm pretty sure it's correct. If a
MAKE_FUNCTION
oparg has theco_annotations
flag set, thatMAKE_FUNCTION
opcode will consume one more element off the stack than it otherwise would, and if this isn't reflected instack_effect()
, it will result in an overestimation of the needed stack size.