this is for holding javascript data
Daniele Cono D'Elia edited case-study.tex
over 8 years ago
Commit id: b02d01ecb15698465c67356213cd180797bf7cbc
deletions | additions
diff --git a/case-study.tex b/case-study.tex
index a737909..4d11f84 100644
--- a/case-study.tex
+++ b/case-study.tex
...
\begin{enumerate}
\item An analysis pass for {\tt feval} instructions in the IIR representation of a function
\item An extension for the IIR compiler to track the correspondence between IIR and IR objects at {\tt feval} calls
\item A helper component to insert OSR points in the IR at IIR locations
identified annotated during the analysis pass
\item A callback component invoked at OSR points, which in turn is made of:
\begin{enumerate}
\item A profile-driven IIR generator to replace {\tt feval} calls with direct calls
...
\end{enumerate}
\end{enumerate}
The analysis pass is integrated in McVM's analysis manager and
groups identifies optimization opportunities for functions containing {\tt feval}
instructions together instructions. A function becomes a candidate for optimization when
their at least one of its {\tt feval} calls is inside a loop. We then group {\tt feval} instructions whose first argument is reached by the same definition, using reaching definition information already computed by the analysis manager for
other previous optimizations.
Grouping instructions allows [...]
The analysis pass is also able to determine whether the value of the argument can change across two executions of the same {\tt feval} instruction, and thus
indicate when discriminate whether a run-time guard should be inserted during the run-time optimization phase. Compared to the OSR-based approach by Lameed and Hendren, our solution is cheaper because the types for the other arguments do not need to be cached or
checked: guarded: as we will see later, the type inference engine will compute the most accurate yet
still sound type information
during in the analysis of the
profile-driven generated IIR
where {\tt feval} calls are replaced with direct calls. function.
When the IIR compiler processes