Skip to content

Add virtual opcodes to the dis/opcodes modules #94216

Closed
@iritkatriel

Description

@iritkatriel

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.

Metadata

Metadata

Assignees

Labels

type-featureA feature request or enhancement

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions