Mark Shannon <m...@hotpy.org> added the comment:

https://github.com/python/cpython/pull/18334 assumes that since all loops will 
contain a backwards edge, checking for interrupts on JUMP_ABSOLUTE should be 
sufficient.

However, https://github.com/python/cpython/pull/23743 changed the back edges in 
while statements. So `worker` compiles to:

  2           0 LOAD_GLOBAL              0 (cont)
              2 POP_JUMP_IF_FALSE        7 (to 14)

  3     >>    4 NOP

  2           6 LOAD_GLOBAL              0 (cont)
              8 POP_JUMP_IF_TRUE         2 (to 4)
             10 LOAD_CONST               0 (None)
             12 RETURN_VALUE
        >>   14 LOAD_CONST               0 (None)
             16 RETURN_VALUE

which has no CALL or JUMP_ABSOLUTE instructions.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue44645>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to