Remove tons of \pause{}

This commit is contained in:
Théophile Bastian 2019-10-11 11:57:32 +02:00
parent 4f585c0f13
commit f350dfa4d6
1 changed files with 3 additions and 11 deletions

View File

@ -373,17 +373,12 @@ $1 = 84
\section{Unwinding data synthesis from binaries} \section{Unwinding data synthesis from binaries}
\begin{frame}{Why would synthesis be useful?} \begin{frame}{Why would synthesis be useful?}
\pause{}
\begin{itemize} \begin{itemize}
\item As said earlier, \alert{DWARF is complex} \item As said earlier, \alert{DWARF is complex}
\pause{}
\item Some compilers \alert{do not generate it}: hard to \alert{debug} \item Some compilers \alert{do not generate it}: hard to \alert{debug}
\& \alert{profile}. \& \alert{profile}.
\pause{}
\item Think of \alert{JIT-compiled assembly} (eg. JVM) \item Think of \alert{JIT-compiled assembly} (eg. JVM)
\pause{}
\item \ldots{}or even \alert{hand-written inlined assembly}! \item \ldots{}or even \alert{hand-written inlined assembly}!
\pause{}
\begin{itemize} \begin{itemize}
\item Painful enough to write for not bothering with DWARF \item Painful enough to write for not bothering with DWARF
\item May not even be known by the programmer, breaks gdb \item May not even be known by the programmer, breaks gdb
@ -393,10 +388,10 @@ $1 = 84
\end{frame} \end{frame}
\begin{frame}{What have we got so far?} \begin{frame}{What have we got so far?}
We now want to \alert{synthesize unwinding data}. \pause{}That means We now want to \alert{synthesize unwinding data}. That means
\alert{forgetting the blue part of the previous schemes}. \alert{forgetting the blue part of the previous schemes}.
\begin{itemize}[<+->] \begin{itemize}
\item Upon entering a function, we know (ABI) \item Upon entering a function, we know (ABI)
\[ \cfa = \reg{rsp} - 8 \[ \cfa = \reg{rsp} - 8
\qquad \ra = \cfa + 8 \] \qquad \ra = \cfa + 8 \]
@ -420,7 +415,7 @@ $1 = 84
\item Either we track \cfa{} wrt. \reg{rsp} \item Either we track \cfa{} wrt. \reg{rsp}
\begin{itemize} \begin{itemize}
\item and update it after each instruction if needed \item and update it after each instruction if needed
\end{itemize} \pause{} \end{itemize}
\item Or \reg{rbp} is used as base pointer: easy \item Or \reg{rbp} is used as base pointer: easy
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -430,7 +425,6 @@ $1 = 84
\column{0.4\textwidth} \column{0.4\textwidth}
\lstinputlisting[language=C]{src/cfg/cfg.c} \lstinputlisting[language=C]{src/cfg/cfg.c}
\pause{}
\column{0.30\textwidth} \column{0.30\textwidth}
\begin{figure} \begin{figure}
\centering \centering
@ -438,8 +432,6 @@ $1 = 84
\end{figure} \end{figure}
\end{columns} \end{columns}
\pause{}
\begin{itemize} \begin{itemize}
\item \alert{Upon split} (eg. \texttt{X})\alert{:} nothing special, \item \alert{Upon split} (eg. \texttt{X})\alert{:} nothing special,
propagate end state of X to child nodes A and B propagate end state of X to child nodes A and B