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
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:
Linked PRs