-
-
Notifications
You must be signed in to change notification settings - Fork 33.1k
Open
Labels
3.15new features, bugs and security fixesnew features, bugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)performancePerformance or resource usagePerformance or resource usagetopic-JIT
Description
The main JIT optimizer pass is a bit untidy at the moment. It lacks coherent design and is split into two parts, which makes it hard to work with.
We should enhance the coherency to simplify future maintenance and ease in new contributors.
To do this, we need to do the following:
- Use symbols consistently throughout, instead of the current mixture of symbols , ad-hoc variables and references to objects.
- Move the "globals to constants" pass into the main optimizer pass
- Move the state maintained by local variables in the optimizer into structs within the optimizer context for clarity and to avoid surprising action at a distance effects.
Linked PRs
stonebig
Metadata
Metadata
Assignees
Labels
3.15new features, bugs and security fixesnew features, bugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)performancePerformance or resource usagePerformance or resource usagetopic-JIT