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

METABUG: Tier 2 optimizer #587

Open
mdboom opened this issue May 24, 2023 · 1 comment
Open

METABUG: Tier 2 optimizer #587

mdboom opened this issue May 24, 2023 · 1 comment
Assignees
Labels
epic-tier2-optimizer Linear code region optimizer for 3.13 and beyond.

Comments

@mdboom
Copy link
Contributor

mdboom commented May 24, 2023

Note
This issue is not for discussion, but to keep the various steps organized. To create new subtasks, create new issues and link to them from here by editing this comment.

To discuss the Tier 2 optimizer topic in general, see #557.

Components

Design artifacts

  • Optimizer API
  • Optimizer instruction format
  • Tier 2 interpreter instruction format (if different from the optimizer instruction format)
  • Executable object layout

Dependencies

graph TD;
  optimizer_api[Optimizer API] --> superblock_generator[Superblock generator];
  optimizer_format[Optimizer instruction format] --> superblock_generator;
  superblock_generator --> specializer[Specializer];
  superblock_generator --> partial_evaluator[Partial evaluator];
  superblock_generator --> compiler[Compiler];
  superblock_generator --> deoptimization[Deoptimization of superblocks];
  deoptimization[Deoptimization of superblocks] --> partial_evaluator[Partial evaluator];
  optimizer_format --> interpreter_format[Interpreter instruction format];
  interpreter_format --> interpreter[Interpreter];
  executable_object_layout[Executable object layout] --> interpreter;
  executable_object_layout[Executable object layout] --> compiler;
  interpreter --> specializer;
  interpreter --> partial_evaluator;
  interpreter --> compiler;
@mdboom mdboom added the epic-tier2-optimizer Linear code region optimizer for 3.13 and beyond. label May 24, 2023
@markshannon
Copy link
Member

markshannon commented May 30, 2023

Although the development of the partial evaluator and compiler can proceed in parallel with that of the specializer, it is worth noting that the partial evaluator and compiler have little value without the specializer. The specializer must take priority over the other optimizer components.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic-tier2-optimizer Linear code region optimizer for 3.13 and beyond.
Projects
None yet
Development

No branches or pull requests

2 participants