Daniele Cono D'Elia edited experim.tex  over 8 years ago

Commit id: cdde336a84b997b731a7c42cb81d028a22ba8675

deletions | additions      

       

\section{Experimental Evaluation}  \label{se:experiments}  In this section we present an experimental study of our OSR technique in TinyVM, a proof-of-concept virtual machine based on LLVM's JIT compiler MCJIT. TinyVM supports interactive invocations of functions and it can compile LLVM IR either generated at run-time or loaded from disk. The main design goal behind TinyVM is the creation of an interactive environment for IR manipulation and JIT-compilation of functions: for instance, it allows the user to insert OSR points in loaded functions, run optimization passes on them or display their CFGs, repeatedly invoke a function for a specified amount of times and so on. TinyVM supports dynamic library loading and linking, and comes with a helper component for MCJIT that simplifies tasks such as handling multiple IR modules, symbol resolution in presence of multiple versions of a function, and tracking native code and other machine-level generated object such as Stackmaps.  TinyVM is thus an ideal playground to exercise our OSR technique, and we use it to run the shootout benchmarks obtained by lowering their C version to LLVM IR through clang.  \subsection{Setup}  \subsection{Results}