Closed gvanrossum closed 1 year ago
The short term answer is "don't worry about". It is simple enough to workaround in the tooling for now.
In the longer term we'll need to add JUMP_AND_POP()
macros (or something like that) to complement the JUMPBY()
macros we currently have. Plus the tools will need to understand these macros.
I suppose we could just special-case an output stack effect of the form res if (jump)
or res if (!jump)
.
I think this is resolved.
Our new DSL can express variadic stack effects using
array[oparg]
and even caters for conditions (foo if (C-expression)
). But four opcodes (SEND
,JUMP_IF_FALSE_OR_POP
,JUMP_IF_TRUE_OR_POP
,FOR_ITER
) have different stack effects depending on whether they jump. How should we express that? New syntax or a magic constant inC-expression
above?@markshannon