Hi Kaivan,
There is an initial implementation of the call-site caching idea here:
Please review that PR to get a sense for the direction and depth of the project. As you will see in the comments, there are several large, open questions remaining. I checked with @yuyichao, and he does not have time to update the PR in the near future. So, updating and finishing the work started in that PR could potentially be a large portion of a GSoC project. This would require to rebase it for recent (significant) compiler changes, implement and test the suggested improvements in the comments, and evaluate/optimize performance against some of the important packages in the ecosystem.
There are several people who will be available to help with implementation questions, but for now I can be a point of contact.
As a more general note, probably the strongest indicator for both acceptance and success of a GSoC project is to have made some contributions prior to the application deadline (which is March 25th). In light of that, I've listed below a few examples of small, self-contained projects/bug-fixes that touch the compiler or runtime. I would suggest to look through these and select a few to get your feet wet contributing to Julia base. If you are new to LLVM, I would also suggest to do the Kaleidoscope tutorial.
- easy issues:
- intermediate:
If you have questions about those, feel free to ask in this thread.
Best,
Isaiah