this is for holding javascript data
Camil Demetrescu edited osr-llvm.tex
over 8 years ago
Commit id: 4df3f78dc866b420168ffd8fdff9c9facbfa2d56
deletions | additions
diff --git a/osr-llvm.tex b/osr-llvm.tex
index 2f828ca..6cb34eb 100644
--- a/osr-llvm.tex
+++ b/osr-llvm.tex
...
\section{OSR in LLVM}
\label{se:osr-llvm}
[...] In this section we discuss our implementation of the approach described in \ref{se:overview} in \tinyvm, a proof-of-concept virtual machine we developed as a playground to exercise our OSR techniques. TinyVM is based on LLVM's MCJIT compiler and supports interactive invocation of LLVM IR functions 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.
\ifdefined\noauthorea
\begin{figure}[t]