As a preparation for FE compiler let concentrate on the wins in TryCollectInfo phase.
When building FE we are already collecting the closure constants into the separate state of ClosureConstants list.
Let explore the remaining calculation we dot for SE and LE in TryCollectInfo and what can be applied to FE:
- Collecting the nested lambdas
- Itentifying the non-passed parameters
- Identifying the use of variables from the blocks
- Linking labels and gotos together
- Something I forgot?
There are directions to research:
- What can be done during FE construction to avoid double work in the separate phase
- How can we change/morph our FE design and public surface API to make it possible
- What is still remaining for the separate phase and how can we simplify it if not get rid off it completely
As a preparation for FE compiler let concentrate on the wins in TryCollectInfo phase.
When building FE we are already collecting the closure constants into the separate state of ClosureConstants list.
Let explore the remaining calculation we dot for SE and LE in TryCollectInfo and what can be applied to FE:
There are directions to research: