python / python/cpython

Tidy up tier two

Open
#129,709 1 comment 0 reactions 1 assignee View on GitHub

@brandtbucher is already working on this.

Since Feb 6, 2025.

interpreter-core topic-JIT type-feature
Dominant language
Python
Stars
77.2k
Forks
35.9k
PR merge metrics
PR metrics pending

Description

Tier two has grown quite organically, and the two different implementations (the interpreter and JIT) have grown with it. In many places, we're repeating the same logic, or doing things in two or three different ways.

I'd like clean up tier two a bit, in the process making the tier two interpreter and JIT more similar. We enter the JIT by making a call, so I don't see a very compelling reason why the tier two interpreter needs to do anything different.

There are also some unused macros and labels lying around, and a few labels that are only used by one or two instructions. These can be cleaned up as well.

I'll start by generally tidying things up in one PR, then moving the tier two interpreter out into its own function in a follow-up PR.

Linked PRs
  • gh-129710

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.