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

Commit id: 2227356eab93f3772a82483355a28be7f5223b14

deletions | additions      

       

\end{itemize}    Lameed and Hendren conclude their paper by stating, ``It would be interesting to look at future work that combine the  strengths of both approaches". In the remaining part of this section, we extend their work McVM  by implementing a novel optimization mechanism for {\tt feval} based on our OSR technique technique: we will show  that our mechanism  is as efficient as the their  JIT-based approach in terms of quality of generated code, and is even more general than their OSR-based approach, as it can optimize also {\tt feval} calls not enclosed inthe body of  a loop. The McVM virtual machine is a complex research project developed at McGill and composed of several software components, including: a front-end for lowering MATLAB programs to an intermediate representation called IIR that captures all of the high-level features of the language; an interpreter for running MATLAB functions and scripts in IIR format; a manager component to perform analyses on IIR; a JIT compiler based on LLVM for generating native code for a function, thus lowering McVM IIR to LLVM IR; a set of helper components to perform fast vector and matrix operations using optimized libraries such as ATLAS, BLAS and LAPACK. The architecture of McVM is illustrated in Figure [...]