Remove tons of \pause{}
This commit is contained in:
parent
4f585c0f13
commit
f350dfa4d6
1 changed files with 3 additions and 11 deletions
14
slides.tex
14
slides.tex
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue