this is for holding javascript data
Camil Demetrescu edited osr-llvm.tex
over 8 years ago
Commit id: 970f6c903c423636cbfead64f9d799a5ffdda190
deletions | additions
diff --git a/osr-llvm.tex b/osr-llvm.tex
index 0bd1d94..641a86a 100644
--- a/osr-llvm.tex
+++ b/osr-llvm.tex
...
\fi
\paragraph{x86-64 Lowering.}
The final step to be performed before execution is native code generation. \myfigure\ref{fig:isordx86-64} shows the x86-64 code generated by LLVM for {\tt isordfrom} and {\tt isordto}.
For the sake of comparison with the native code that would be generated for the original non-OSR versions, additions resulting from the IR instrumentation are in grey, while removals are struck-through. Notice that the OSR intrusiveness in {\tt isordfrom} is minimal, consisting of just two assembly instructions with register and immediate operands. As a result of induction variables canonicalization in the LLVM back-end, loop index {\tt i} and hotness counter {\tt p.osr} are fused in the register {\tt\%r12}.
\subsection{Instrumentation API}
\label{se:instrum-api}