Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reorganize the JIT optimization passes. #128939

Open
3 tasks
markshannon opened this issue Jan 17, 2025 · 0 comments
Open
3 tasks

Reorganize the JIT optimization passes. #128939

markshannon opened this issue Jan 17, 2025 · 0 comments
Labels
interpreter-core (Objects, Python, Grammar, and Parser dirs) topic-JIT type-feature A feature request or enhancement

Comments

@markshannon
Copy link
Member

markshannon commented Jan 17, 2025

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
interpreter-core (Objects, Python, Grammar, and Parser dirs) topic-JIT type-feature A feature request or enhancement
Projects
None yet
Development

No branches or pull requests

2 participants