this is for holding javascript data
dcdelia Merge branch 'master' of https://github.com/camild/article-llvm-osr
none
over 8 years ago
Commit id: 0e9cfc949b64853e93d7ed5a74d751157d756114
deletions | additions
diff --git a/experim.tex b/experim.tex
index 6cad4e9..65a9a12 100644
--- a/experim.tex
+++ b/experim.tex
...
\paragraph{OSR Machinery Generation.}
We now discuss the overhead of the \osrkit\ library for inserting OSR machinery in the IR of a function. \mytable\ref{tab:instrTime} reports for each benchmark the number of IR instructions in the instrumented function, the number of live values to transfer and the time spent in the IR manipulation. Locations for OSR points are chosen as in the experiments about code quality, and the target function is a clone of the source function.
For open OSR points, we report the time spent in inserting the OSR point in the function and in generating the stub; both operations do not depend on the size of the function. For resolved OSR points, we report the time spent in inserting the OSR point and in generating the
continuation \fosrto\ function.
Not surprisingly, constructing a continuation function takes longer than the other operations (i.e., up to 1 ms vs. 20-40 us), as it involves cloning and manipulating the body of the target function and thus depends on its size: \mytable\ref{tab:instrTime} thus comes with an additional column in which time is normalized against the number of IR instructions in the target.
diff --git a/figures/isordx86-64/caption.tex b/figures/isordx86-64/caption.tex
index 616231e..97999e5 100644
--- a/figures/isordx86-64/caption.tex
+++ b/figures/isordx86-64/caption.tex
...
\label{fig:isordx86-64} OSR-instrumented functions {\tt isordfrom} (base) and {\tt isordto} (faster continuation) after
IR to x86-64 IR-to-x86-64 lowering in LLVM. %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.