Added `recording and stopping traces' and cleaned the document.

parent ba3207f2
\documentclass{beamer} % {{{ \documentclass{beamer}
\usepackage[dutch]{babel} \usepackage[dutch]{babel}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage{beamerthemesplit} \usepackage{beamerthemesplit}
...@@ -8,8 +8,7 @@ ...@@ -8,8 +8,7 @@
\setbeamercovered{transparent} \setbeamercovered{transparent}
% Custom footer columns widths (modified "infolines" template) % Custom footer columns widths (modified "infolines" template)
\defbeamertemplate*{footline}{compactlines theme} \defbeamertemplate*{footline}{compactlines theme} {
{
\leavevmode% \leavevmode%
\hbox{% \hbox{%
\begin{beamercolorbox}[wd=.400000\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}% \begin{beamercolorbox}[wd=.400000\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
...@@ -27,7 +26,7 @@ ...@@ -27,7 +26,7 @@
\mode<presentation> { \mode<presentation> {
\usetheme{Boadilla} \usetheme{Boadilla}
%\usetheme{Copenhagen} % \usetheme{Copenhagen}
\usecolortheme[named=kugreen]{structure} \usecolortheme[named=kugreen]{structure}
\useinnertheme{circles} \useinnertheme{circles}
\usefonttheme[onlymath]{serif} \usefonttheme[onlymath]{serif}
...@@ -48,8 +47,6 @@ ...@@ -48,8 +47,6 @@
\newfloat{program}{thp}{lop} \newfloat{program}{thp}{lop}
\floatname{program}{Program} \floatname{program}{Program}
% }}}
\title{Incremental trace trees and JavaScript} \title{Incremental trace trees and JavaScript}
\subtitle{Executing typeless, dynamic languages faster} \subtitle{Executing typeless, dynamic languages faster}
\author{Sander van Veen} \author{Sander van Veen}
...@@ -58,18 +55,19 @@ ...@@ -58,18 +55,19 @@
\begin{document} \begin{document}
\frame { \titlepage% {{{ \frame {
} % }}} \titlepage
}
\frame { \frametitle{Overzicht} % {{{ \frame { \frametitle{Overzicht}
\tableofcontents[pausesection] \tableofcontents[pausesection]
} % }}} }
\section{Introductie tot JavaScript} \section{Introductie tot JavaScript}
\subsection{Wat is JavaScript?} \subsection{Wat is JavaScript?}
\frame { \frametitle{JavaScript overzicht} % {{{ \frame { \frametitle{JavaScript overzicht}
De taal JavaScript is: De taal JavaScript is:
...@@ -82,9 +80,9 @@ ...@@ -82,9 +80,9 @@
\input{basic-example} \input{basic-example}
} % }}} }
\frame { \frametitle{JavaScript variabel representatie} % {{{ \frame { \frametitle{JavaScript variabel representatie}
Firefox gebruikt 64 bits voor alle types: Firefox gebruikt 64 bits voor alle types:
...@@ -107,11 +105,11 @@ ...@@ -107,11 +105,11 @@
\item Dus: bij \texttt{NaN} bepalen de 14 bits na de exponent de TAG. \item Dus: bij \texttt{NaN} bepalen de 14 bits na de exponent de TAG.
\end{itemize} \end{itemize}
} % }}} }
\subsection{Browser onderdelen} \subsection{Browser onderdelen}
\frame { \frametitle{Wat doet elk onderdeel?} % {{{ \frame { \frametitle{Wat doet elk onderdeel?}
In de Mozilla Firefox browser: In de Mozilla Firefox browser:
...@@ -127,10 +125,13 @@ ...@@ -127,10 +125,13 @@
\end{itemize} \end{itemize}
\end{itemize} \end{itemize}
} % }}} }
\section{Compiler basics}
\subsection{Control flow graph}
\frame { \frametitle{Control flow graph} % {{{ \frame { \frametitle{Control flow graph}
\begin{columns}[t] \begin{columns}[t]
...@@ -145,32 +146,56 @@ ...@@ -145,32 +146,56 @@
\end{columns} \end{columns}
} % }}} }
\subsection{Trace vs Just-In-Time compiler}
\frame { \frametitle{Trace vs Just-In-Time compiler} % {{{ \frame { \frametitle{Trace vs Just-In-Time compiler}
\begin{columns}[t] \begin{columns}[t]
\column{.5\textwidth} \column{.5\textwidth}
\textbf{Trace compiler} \textbf{Trace compiler}
\begin{itemize}
\begin{itemize}
\item Eenheid is een ``loop''. \item Eenheid is een ``loop''.
\item Benodigd: Traces opnemen. \item \emph{Lazy compilation}; niet 3 en 7.
\includegraphics[width=6cm]{images/trace-tree.pdf} \includegraphics[width=6cm]{images/trace-tree.pdf}
\end{itemize} \end{itemize}
\column{.5\textwidth} \column{.5\textwidth}
\textbf{Just-In-Time compiler} \textbf{Just-In-Time compiler}
\begin{itemize} \begin{itemize}
\item Eenheid is een ``method''. \item Eenheid is een ``method''.
\item Benodigd: Control flow graph. \item Benodigd: Control flow graph.
\includegraphics[width=6cm]{images/control-flow-graph.pdf} \includegraphics[width=6cm]{images/control-flow-graph.pdf}
\end{itemize} \end{itemize}
\end{columns}
}
\subsection{Trace trees}
\frame { \frametitle{Hoe worden traces opgenomen?}
\end{columns} \begin{enumerate}
\item Detecteer start van een loop.
\item Houd \emph{loop count} bij.
\item Loop count $>$ \emph{threshold}: record trace!
\item Stop de trace na een cycle.
\end{enumerate}
} % }}} \pause \textbf{Of een trace faalt}
\begin{enumerate}
\item Er treedt een \emph{exception} op.
% \item \emph{Memory allocation} instructies.
\item Een trace wordt te lang (voor geheugen).
\end{enumerate}
}
\end{document} \end{document}
% vim: foldmethod=marker % vim: foldmethod=marker
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment