Camil Demetrescu edited intro.tex  over 8 years ago

Commit id: 2e28620e803933161a53cb0ae5c4235eec2d920a

deletions | additions      

       

%Our implementation ships as a library for IR manipulation, and we present a preliminary experimental study of our technique in \tinyvm\, a proof-of-concept virtual machine for run-time IR manipulation and compilation based on MCJIT.  \noindent While the general ideas we propose have been prototyped in LLVM, we believe that  they may could  be applied to other toolchains as well. To investigate the potential of our approach, we show how to optimize the {\tt feval} construct\ - a major source of inefficiency in MATLAB execution engines~\cite{lameed2013feval, radpour2013refactoring}. We present an extension of the MATLAB McVM runtime~\cite{chevalier2010mcvm} based on \osrkit\ to enable aggressive specialization mechanisms for {\tt feval} that were not supported by extant techniques~\cite{lameed2013feval}. An experimental evaluation of our technique reveals that OSR machinery injected by \osrkit\ has a small level of intrusiveness and the optimizations enabled by our approach yield significant speeedups in practical scenarios. %we extended McVM~\cite{chevalier2010mcvm}, showing how to enable aggressive specialization mechanism for the {\tt feval} construct\ - a source of bottlenecks in many MATLAB programs~\cite{lameed2013feval, radpour2013refactoring} - that could not have been implemented using extant OSR techniques.