Skip to content

GH-115457: Support splitting and replication of micro ops. - #115558

Merged
markshannon merged 6 commits into
python:mainfrom
faster-cpython:split-on-oparg-1
Feb 20, 2024
Merged

markshannon merged 6 commits into
python:mainfrom
faster-cpython:split-on-oparg-1

Conversation

@markshannon

@markshannon markshannon commented Feb 16, 2024 •

Copy link
Copy Markdown
Member

Adds the split and replicate(N) annotations

split splits uops into two depending on the low bit of the oparg. This removes a few jumps from uops like _LOAD_ATTR_INSTANCE_VALUE.

replicate(N) replicates the original uop for each oparg in range(N). This is particularly valuable for uops that loop over oparg, but it is also useful to inline the oparg at build time rather than when patching.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants