Hey there 🤗, Welcome to my GSoC Journey
This is a series of blogs that I am writing to share my amazing GSoC 22 (Google Summer of Code 2022) Journey with you all.
Supporting Subroutines and Improving/Refactoring WASM Backend
This week, I worked on
- Refactoring/Improving the
WebAssembly Backend
- Adding support for Subroutines (Still working on this)
The Improvements brought are the following:
- The maps
m_var_name_idx_map
andm_func_name_idx_map
now use/support keys hashed usingget_hash()
. This hopefully/possibly reduces the possibilities of collision in these maps. - New functions
emit_function_prototype()
andemit_function_body()
have been added/defined which make it possible to independently define the function prototype and the function bodies. This hopefully/possibly encourages code reuse. - The concept of
SymbolInfo
(used by theC
andCPP
Backends) is also introduced.
Under progress:
- #21 brings the support for
Subroutines
. - Once it is complete, the WebAssembly Backend would then be able to support
Subroutines
. - This would hopefully allow a larger subset of code to be parsed by the
LFortran
WebAssembly
Backend.
I will update here as soon as I make progress on the same PR
#21
This phase was mostly/approximately from 16-07-2022
to 22-07-2022
.
The MRs during this phase are as follows:
That’s all for this blog. Thank you for your time. We continue this series in the next blog.