Cut out a bit more
This commit is contained in:
parent
7cd581fbd0
commit
4ccd4618f7
1 changed files with 10 additions and 24 deletions
34
slides.tex
34
slides.tex
|
@ -259,6 +259,9 @@ $1 = 84
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\textbf{\Large{}Debug data is not only for debugging}
|
\textbf{\Large{}Debug data is not only for debugging}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
|
\vspace{1em}
|
||||||
|
$\leadsto$ we might want \alert{an alternative time/space trade-off}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\newcommand{\LinusMailOne}{
|
\newcommand{\LinusMailOne}{
|
||||||
|
@ -464,24 +467,6 @@ $1 = 84
|
||||||
|
|
||||||
\subsection{Compilation ahead-of-time}
|
\subsection{Compilation ahead-of-time}
|
||||||
|
|
||||||
\begin{frame}{Why compiling?}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Remember that \alert{DWARF is slow}!
|
|
||||||
\item \alert{Bytecode} interpreted \alert{on the fly} to
|
|
||||||
generate the data tables
|
|
||||||
\item Done so for \alert{extreme compacity}
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\pause{}
|
|
||||||
\vspace{1em}
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item Goal: \alert{reasonable time-space trade-off} to speed up DWARF
|
|
||||||
\item Tables are now \alert{compiled functions} returning the requested
|
|
||||||
DAWRF row
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}{Compilation overview}
|
\begin{frame}{Compilation overview}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Compiled to \alert{C code}
|
\item Compiled to \alert{C code}
|
||||||
|
@ -501,6 +486,12 @@ $1 = 84
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\begin{frame}[shrink]{Compilation example: generated C}
|
\begin{frame}[shrink]{Compilation example: generated C}
|
||||||
\lstinputlisting[language=C]{src/fib7/fib7.eh_elf_basic.c}
|
\lstinputlisting[language=C]{src/fib7/fib7.eh_elf_basic.c}
|
||||||
|
|
||||||
|
\pause{}
|
||||||
|
\vspace{1em}
|
||||||
|
\begin{center}
|
||||||
|
The real code is optimised, but boils down to this.
|
||||||
|
\end{center}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
@ -517,12 +508,7 @@ $1 = 84
|
||||||
\item \texttt{libunwind-eh\_elf}: alternative implementation using
|
\item \texttt{libunwind-eh\_elf}: alternative implementation using
|
||||||
\ehelfs{}
|
\ehelfs{}
|
||||||
|
|
||||||
\item[$\leadsto$] \alert{alternative implementation} of libunwind,
|
\item[$\leadsto$] almost \alert{``relink-and-play''} for existing projects!
|
||||||
almost plug-and-play for existing projects!
|
|
||||||
\begin{itemize}
|
|
||||||
\item[$\leadsto$] It is \alert{easy} to use \ehelfs{}: just
|
|
||||||
link against the right library!
|
|
||||||
\end{itemize}
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue