this is for holding javascript data
Camil Demetrescu edited approach.tex
over 8 years ago
Commit id: c48411d6d81a85167fd2440e9fb866263ce0733d
deletions | additions
diff --git a/approach.tex b/approach.tex
index e2ebc14..dd17df2 100644
--- a/approach.tex
+++ b/approach.tex
...
\subsection{Overview}
\label{ss:overview}
Consider the generic OSR scenario shown Figure~\ref{fi:osr-dynamics}. A base function \textsf{f} is executed and it can either terminate normally (dashed lines), or an OSR event may transfer control to a variant \textsf{f'}. The decision of whether an OSR should be fired at a given point
\textsf{L} is based on an {\em OSR
condition}: for instance, condition}. A typical example is a guard testing whether
a speculative function \textsf{f} has become
unsafe, or unsafe and a fallback to a safe version \textsf{f'} is in order. Another example is a profile counter reaching a certain hotness threshold, which indicates that \textsf{f} is taking longer than expected and is worth optimizing.
A classical OSR implementation approach consists of manipulating the state of the program at machine code level, e.g., by adjusting the stack so that execution can continue in \textst{f'} with the current frame \cite{}. A substantially simpler approach consists of creating a new frame, rather that modifying the current one. This approach was used, e.g., in \cite{}.
The approach we use to support OSR transitions is to perform a
%\ref{fi:overview-osr-final}
...