Skip to content

Reorganize the JIT optimization passes. #128939

Open
@markshannon

Description

@markshannon

Currently the JIT works in the following passes:

  1. Create a trace (by projecting from the current point of execution)
  2. Convert global variables to constants
  3. Type based redundancy elimination
  4. Peephole redundancy elimination
  5. Create executor

What we want is:

  1. Create a trace and redundancy elimination
  2. Partial evaluation
  3. Create executor

To get there we need to combine current steps 1-4 into a single step and implement the partial evaluator. The partial evaluator is discussed elsewhere, this issue is about combining the earlier passes.

To do this, we want to:

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    interpreter-core(Objects, Python, Grammar, and Parser dirs)topic-JITtype-refactorCode refactoring (with no changes in behavior)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions