In this summer, my original goal is to build about twenty benchmarks for an automatic tool which is able to transform sun.misc.Unsafe
codes to safe codes using FFM
API. However, both Qiran and I found it impossible to do such a transformation using only FFM
. Yirui helped me reach out to a very professional person, Maurizio Cimadamore, to ask for suggestions. Maurizio pointed it out that I could also use VarHandle
, referring to JEP 471. He also provided me some hand-on guidance, so that I could have a much better insight into the way to transform.
Till now, in my repository, there've been 21 benchmarks for the transformation, and one sample project for performance test. Qiran had reviewed all of them, to ensure they are all available in Qiran's device. The readme file in the repo shows where the benchmarks come from and how to test them. A formal report written on Overleaf is also included in the readme file.
I think I've reached my original goal, not only for the amount of 22 projects in total, but also for the method I've found to do the transformation. Based on the method I written in my formal report, it could be very easy to modify the unsafe codes manually, thus indicates a way to build the automatic tool. Qiran also highlighted my work, saying that it would not be hard to complete his thesis based on what I've found. Hence, I hope I could get an A+ or A.