this is for holding javascript data
Camil Demetrescu edited intro.tex
over 8 years ago
Commit id: 746262f987463fd962c3eb1f1e720489527a1f6c
deletions | additions
diff --git a/intro.tex b/intro.tex
index 7b6063d..ef5c455 100644
--- a/intro.tex
+++ b/intro.tex
...
%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 To show the potential of our approach, we extend the
MATLAB McVM~\cite{chevalier2010mcvm}
virtual machine runtime to enable aggressive specialization mechanisms for
MATLAB, the {\tt feval} construct\ - a source of bottlenecks in many MATLAB programs~\cite{lameed2013feval, radpour2013refactoring}, overcoming some of the limitations of extant techniques\cite{lameed2013feval}. We present an experimental evaluation of our technique, analyzing the performance implication of the OSR machinery injected with \osrkit\ and showing that it supports aggressive optimizations that 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.
%present a case study on the integration of our technique in McVM~\cite{chevalier2010mcvm}: we show the potential of our approach by enabling an 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.
\paragraph{Structure of the paper.}
The remainder of this paper is organized as follows. In \mysection\ref{se:overview} we present our OSR technique and in \mysection\ref{se:osr-llvm} we outline its implementation and Application Program Interface (API) in LLVM. \mysection\ref{se:case-study} illustrates a case study in McVM. In \mysection\ref{se:experiments}, we present our experimental study and discuss implications of
inserting injecting OSR points in
a LLVM
function, IR programs, while \mysection\ref{se:related} addresses related work. \mysection\ref{se:conclusions} concludes the paper and presents some ideas for future research directions.