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_mapandm_func_name_idx_mapnow 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 theCandCPPBackends) 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
LFortranWebAssemblyBackend.
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.