Description
As we are exposing compiler optimisations to python for #93678, we also need the virtual opcodes to be available in python. We will add them to opcodes and that will make them available through dis.
The virtual opcodes have values outside the [0,255] range, so they will not obey the normal relationship with HAS_ARGUMENT
. We will document that HAS_ARGUMENT
is the threshold for non-virtual opcodes, and add a hasarg
collection which includes the relevant virtual opcodes as well.
Fortunately the dis module is documented as unstable between python versions, so we don't need to worry too much about backward compatibility of this. However, it might be good to rename HAS_ARGUMENT
to _HAS_ARGUMENT
in order to push anyone who happens to be using it to use hasarg instead.