]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-104584: Allow unspecialized instructions in superblocks (#106497)
authorGuido van Rossum <guido@python.org>
Fri, 7 Jul 2023 18:03:27 +0000 (11:03 -0700)
committerGitHub <noreply@github.com>
Fri, 7 Jul 2023 18:03:27 +0000 (18:03 +0000)
commitb3648f036e502db7e7da951ec4eb1f205cb3d74e
tree9600a81da3577cc7a5172568b5289e80dedeab1a
parent11038c56ad80dde2cdf65190e78a59d579c94b3a
gh-104584: Allow unspecialized instructions in superblocks (#106497)

This adds several of unspecialized opcodes to superblocks:

TO_BOOL, BINARY_SUBSCR, STORE_SUBSCR,
UNPACK_SEQUENCE, LOAD_GLOBAL, LOAD_ATTR,
COMPARE_OP, BINARY_OP.

While we may not want that eventually, for now this helps finding bugs.

There is a rudimentary test checking for UNPACK_SEQUENCE.

Once we're ready to undo this, that would be simple:
just replace the call to variable_used_unspecialized
with a call to variable_used (as shown in a comment).
Or add individual opcdes to FORBIDDEN_NAMES_IN_UOPS.
Lib/test/test_capi/test_misc.py
Python/executor_cases.c.h
Python/opcode_metadata.h
Tools/cases_generator/generate_cases.py