Daniele Cono D'Elia edited case-study.tex  over 8 years ago

Commit id: 40499c9360c357a9942e451362f960bfff44e4b1

deletions | additions      

       

The source code of McVM is publicly available~\cite{mcvm}, and after porting it from the legacy LLVM JIT to MCJIT, we have extended it with the following components to enable the optimization of {\tt feval} instructions:  \begin{enumerate}  \item An analysis pass for {\tt feval} instructions in the IIR representation of a function  \item An extension for the IIR compiler to track the correspondence between IIR and LLVM IR objects when compiling at  {\tt feval} calls \item A helper component to insert OSR points at locations identified during the analysis pass  \item A profile-driven generator for IIR code (to replace {\tt feval} calls with direct calls)  \item A callback component invoked at OSR points to generate (or retrieve a cached version of) an optimized version of the  \item   \end{enumerate}