You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.
(Mega issue) Start doing optimization passes on tier 2 bytecode.
Pitch
The target of tier 2 optimizations is tier 2 bytecode. Abstract interpretation is a natural way to analyze and optimize tier 2 bytecode. We can generate the abstract interpreter from the bytecode DSL
Generate a barebones tier 2 abstract interpreter from the DSL.
Perform partial evaluation. For now, all static comes from LOAD_CONST. Assume everything else is dynamic.
The initial partial evaluation will be bad because it does not have that much static information (we need watchers for methods, functions, global, etc., to make them effectively static). However, that phase can be done in the region formation step before partial evaluation. Someone else can pick them up as a parallel workstream.
Feature or enhancement
(Mega issue) Start doing optimization passes on tier 2 bytecode.
Pitch
The target of tier 2 optimizations is tier 2 bytecode. Abstract interpretation is a natural way to analyze and optimize tier 2 bytecode. We can generate the abstract interpreter from the bytecode DSL
Previous discussion
See faster-cpython/ideas#611
Todo list:
static
comes fromLOAD_CONST
. Assume everything else isdynamic
.The initial partial evaluation will be bad because it does not have that much
static
information (we need watchers for methods, functions, global, etc., to make them effectively static). However, that phase can be done in the region formation step before partial evaluation. Someone else can pick them up as a parallel workstream.Linked PRs
The text was updated successfully, but these errors were encountered: