this is for holding javascript data
Camil Demetrescu edited intro.tex
over 8 years ago
Commit id: 46a80573032d81a882c1c62d0f960480174bcf6b
deletions | additions
diff --git a/intro.tex b/intro.tex
index 7d6ff54..0003b83 100644
--- a/intro.tex
+++ b/intro.tex
...
In a 2013 paper Lameed and Hendren propose McOSR~\cite{lameed2013modular}, a technique for OSR that essentially stores the live values in a global buffer, recompiles the current function and then loads in it the saved state when the execution is resumed. Their approach shows a few limitations that we discuss later on in this paper, and because of some relevant design choices it can work only with the legacy JIT that has been dropped since LLVM's release 3.6.
\paragraph{Contributions.}
In this paper we present a novel, target-independent framework for
LLVM on-stack replacement. While the ideas have been prototyped in LLVM, they may be applied to
enable switching between different versions of a function at run-time. other toolchains. Specific goals of our approach include:
\begin{itemize}
\item The ability for a function reached via OSR to fire an OSR itself: this would allow switching from a base function $f_0$ to an optimized function $f_1$, and later on to a further optimized version $f_2$, etc.
\item Supporting deoptimization, i.e., transitions from an optimized function to a less optimized function from which it was derived.