Added portfolio presentation about 'Trace trees'.

parent 467cc207
# Sander van Veen - 6167969 - University of Amsterdam - <sandervv@gmail.com>
#
# Basic Makefile used to simplify the compilation. Running "make" (without any
# arguments) from the command line will build the report for this assignment.
#
.PHONY: all clean compile highlight
SHELL := /bin/bash
all: highlight compile
clean:
rm -vf *.{out,aux,toc,nav,snm} foo.tex presentation.pdf
compile: presentation.pdf
highlight: basic-example.tex
%.pdf: %.tex
pdflatex $^
pdflatex $^
rm -vf *.log
basic-example.tex: code/basic-example.js
pygmentize -O style=colorful -o $@ $^
#graph.tex: graph.dot
# dot2tex -t math $^ | \
# sed 's/\\\(use\|enl\|doc\|page\|\(end\|begin\){doc\).*//' > $@
\begin{Verbatim}[commandchars=\\\{\}]
\PY{k+kd}{var} \PY{n+nx}{foo} \PY{o}{=} \PY{l+m+mi}{42}\PY{p}{;}
\PY{k+kd}{var} \PY{n+nx}{bar} \PY{o}{=} \PY{p}{\PYZob{}}\PY{n+nx}{key}\PY{o}{:} \PY{l+s+s2}{"value"}\PY{p}{\PYZcb{}}\PY{p}{;}
\PY{k+kd}{var} \PY{n+nx}{pi} \PY{o}{=} \PY{l+m+mf}{3.1415}\PY{p}{;}
\PY{k+kd}{function} \PY{n+nx}{baz}\PY{p}{(}\PY{n+nx}{a}\PY{p}{,} \PY{n+nx}{b}\PY{p}{)} \PY{p}{\PYZob{}}
\PY{k}{return} \PY{n+nx}{a} \PY{o}{+} \PY{n+nx}{b}\PY{p}{;}
\PY{p}{\PYZcb{}}
\PY{k+kd}{var} \PY{n+nx}{b} \PY{o}{=} \PY{n+nx}{baz}\PY{p}{(}\PY{n+nx}{foo}\PY{p}{,} \PY{n+nx}{pi}\PY{p}{)}\PY{p}{;}
\end{Verbatim}
var foo = 42;
var bar = {key: "value"};
var pi = 3.1415;
function baz(a, b) {
return a + b;
}
var b = baz(foo, pi);
% Template coming from Pygments (pygmentize with "-O full,preamble")
\usepackage{fancyvrb}
\usepackage{color}
\makeatletter
\def\PY@reset{\let\PY@it=\relax \let\PY@bf=\relax%
\let\PY@ul=\relax \let\PY@tc=\relax%
\let\PY@bc=\relax \let\PY@ff=\relax}
\def\PY@tok#1{\csname PY@tok@#1\endcsname}
\def\PY@toks#1+{\ifx\relax#1\empty\else%
\PY@tok{#1}\expandafter\PY@toks\fi}
\def\PY@do#1{\PY@bc{\PY@tc{\PY@ul{%
\PY@it{\PY@bf{\PY@ff{#1}}}}}}}
\def\PY#1#2{\PY@reset\PY@toks#1+\relax+\PY@do{#2}}
\def\PY@tok@gd{\def\PY@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
\def\PY@tok@gu{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
\def\PY@tok@gt{\def\PY@tc##1{\textcolor[rgb]{0.00,0.25,0.82}{##1}}}
\def\PY@tok@gs{\let\PY@bf=\textbf}
\def\PY@tok@gr{\def\PY@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\def\PY@tok@cm{\def\PY@tc##1{\textcolor[rgb]{0.50,0.50,0.50}{##1}}}
\def\PY@tok@vg{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.82,0.44,0.00}{##1}}}
\def\PY@tok@m{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.38,0.00,0.88}{##1}}}
\def\PY@tok@mh{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.31,0.50}{##1}}}
\def\PY@tok@cs{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.80,0.00,0.00}{##1}}}
\def\PY@tok@ge{\let\PY@it=\textit}
\def\PY@tok@vc{\def\PY@tc##1{\textcolor[rgb]{0.19,0.38,0.56}{##1}}}
\def\PY@tok@il{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.82}{##1}}}
\def\PY@tok@go{\def\PY@tc##1{\textcolor[rgb]{0.50,0.50,0.50}{##1}}}
\def\PY@tok@cp{\def\PY@tc##1{\textcolor[rgb]{0.31,0.44,0.56}{##1}}}
\def\PY@tok@gi{\def\PY@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
\def\PY@tok@gh{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\def\PY@tok@ni{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.50,0.00,0.00}{##1}}}
\def\PY@tok@nl{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.56,0.44,0.00}{##1}}}
\def\PY@tok@nn{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
\def\PY@tok@no{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.19,0.38}{##1}}}
\def\PY@tok@na{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.75}{##1}}}
\def\PY@tok@nb{\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\def\PY@tok@nc{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.69,0.00,0.38}{##1}}}
\def\PY@tok@nd{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.31,0.31,0.31}{##1}}}
\def\PY@tok@ne{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.94,0.00,0.00}{##1}}}
\def\PY@tok@nf{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.38,0.69}{##1}}}
\def\PY@tok@si{\def\PY@bc##1{\colorbox[rgb]{0.88,0.88,0.88}{##1}}}
\def\PY@tok@s2{\def\PY@bc##1{\colorbox[rgb]{1.00,0.94,0.94}{##1}}}
\def\PY@tok@vi{\def\PY@tc##1{\textcolor[rgb]{0.19,0.19,0.69}{##1}}}
\def\PY@tok@nt{\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.00}{##1}}}
\def\PY@tok@nv{\def\PY@tc##1{\textcolor[rgb]{0.56,0.38,0.19}{##1}}}
\def\PY@tok@s1{\def\PY@bc##1{\colorbox[rgb]{1.00,0.94,0.94}{##1}}}
\def\PY@tok@gp{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
\def\PY@tok@sh{\def\PY@bc##1{\colorbox[rgb]{1.00,0.94,0.94}{##1}}}
\def\PY@tok@ow{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.00}{##1}}}
\def\PY@tok@sx{\def\PY@tc##1{\textcolor[rgb]{0.82,0.13,0.00}{##1}}
\def\PY@bc##1{\colorbox[rgb]{1.00,0.94,0.94}{##1}}}
\def\PY@tok@bp{\def\PY@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
\def\PY@tok@c1{\def\PY@tc##1{\textcolor[rgb]{0.50,0.50,0.50}{##1}}}
\def\PY@tok@kc{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@c{\def\PY@tc##1{\textcolor[rgb]{0.50,0.50,0.50}{##1}}}
\def\PY@tok@mf{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.38,0.00,0.88}{##1}}}
\def\PY@tok@err{\def\PY@tc##1{\textcolor[rgb]{0.94,0.00,0.00}{##1}}
\def\PY@bc##1{\colorbox[rgb]{0.94,0.63,0.63}{##1}}}
\def\PY@tok@kd{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@ss{\def\PY@tc##1{\textcolor[rgb]{0.63,0.38,0.00}{##1}}}
\def\PY@tok@sr{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.00}{##1}}
\def\PY@bc##1{\colorbox[rgb]{1.00,0.94,1.00}{##1}}}
\def\PY@tok@mo{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.25,0.00,0.88}{##1}}}
\def\PY@tok@mi{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.82}{##1}}}
\def\PY@tok@kn{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@o{\def\PY@tc##1{\textcolor[rgb]{0.19,0.19,0.19}{##1}}}
\def\PY@tok@kr{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@s{\def\PY@bc##1{\colorbox[rgb]{1.00,0.94,0.94}{##1}}}
\def\PY@tok@kp{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.19,0.50}{##1}}}
\def\PY@tok@w{\def\PY@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
\def\PY@tok@kt{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.19,0.19,0.56}{##1}}}
\def\PY@tok@sc{\def\PY@tc##1{\textcolor[rgb]{0.00,0.25,0.82}{##1}}}
\def\PY@tok@sb{\def\PY@bc##1{\colorbox[rgb]{1.00,0.94,0.94}{##1}}}
\def\PY@tok@k{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@se{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.38,0.38,0.38}{##1}}
} % \def\PY@bc##1{\colorbox[rgb]{1.00,0.94,0.94}{##1}}}
\def\PY@tok@sd{\def\PY@tc##1{\textcolor[rgb]{0.82,0.25,0.13}{##1}}}
\def\PYZbs{\char`\\}
\def\PYZus{\char`\_}
\def\PYZob{\char`\{}
\def\PYZcb{\char`\}}
\def\PYZca{\char`\^}
% for compatibility with earlier versions
\def\PYZat{@}
\def\PYZlb{[}
\def\PYZrb{]}
\makeatother
class Foo:
""" Class used to illustrate code highlighting. """
def __init__(self):
pass
def bar(self):
return 42
def baz(self, values):
# Simple use of a lambda expression.
return map(lambda x: x ** 2, values)
\documentclass{beamer} % {{{
\usepackage[dutch]{babel}
\usepackage[utf8]{inputenc}
\usepackage{beamerthemesplit}
\usepackage{graphics,url,float}
\definecolor{kugreen}{RGB}{110,131,163}
\setbeamercovered{transparent}
% Custom footer columns widths (modified "infolines" template)
\defbeamertemplate*{footline}{compactlines theme}
{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.400000\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortauthor~~(\insertshortinstitute)
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.400000\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
\usebeamerfont{title in head/foot}\insertshorttitle
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.200000\paperwidth,ht=2.25ex,dp=1ex,center]{date in head/foot}%
\usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2ex}
\insertframenumber{} / \inserttotalframenumber
\end{beamercolorbox}}%
\vskip0pt%
}
\mode<presentation> {
\usetheme{Boadilla}
%\usetheme{Copenhagen}
\usecolortheme[named=kugreen]{structure}
\useinnertheme{circles}
\usefonttheme[onlymath]{serif}
\useoutertheme{infolines}
\setbeamertemplate{navigation symbols}{}
\setbeamercovered{transparent}
\setbeamertemplate{footline}[compactlines theme]
\setbeamertemplate{blocks}[rounded][shadow=false]
}
% \logo{\includegraphics[width=1cm]{images/vo20-logo.png}}
% Load code highlighter color scheme
\input{colors}
% Create a box around the code examples
\floatstyle{boxed}
\newfloat{program}{thp}{lop}
\floatname{program}{Program}
% }}}
\title{Incremental trace trees and JavaScript}
\subtitle{Executing typeless, dynamic languages faster}
\author{Sander van Veen}
\institute{Universiteit van Amsterdam}
\date{10 april 2011}
\begin{document}
\frame { \titlepage% {{{
} % }}}
\frame { \frametitle{Overzicht} % {{{
\tableofcontents[pausesection]
} % }}}
\section{Introductie tot JavaScript}
\subsection{Wat is JavaScript?}
\frame { \frametitle{JavaScript overzicht} % {{{
De taal JavaScript is:
\begin{itemize}
\item Typeless: objecten of primitieven.
\item Dynamic: alles kan veranderen.
\end{itemize}
JavaScript voorbeeld:
\input{basic-example}
} % }}}
\frame { \frametitle{JavaScript variabel representatie} % {{{
Firefox gebruikt 64 bits voor alle types:
\begin{center}
\begin{tabular}{|l|ll|}\hline
JavaScript waarde & eerste 32 bits & laatste 32 bits \\ \hline
37 & INTEGER\_TAG & 37 \\ \hline
"hi" & STRING\_TAG & 0x20506638 \\ \hline
\{key: "value"\} & OBJECT\_TAG & 0x86753090 \\ \hline
3.1415 & 0x400921CA & 0xC083126F \\ \hline
\end{tabular}
\end{center}
``NaN unboxing'' zorgt voor onderscheid TAGs en double:
\begin{itemize}
\item Double: sign 1 bit, exponent 11 bits en mantissa 52 bits.
\item IEEE 754: alle exponent bits 1 $\rightarrow$ float is \texttt{NaN} of $\pm \infty$.
\item Dus: bij \texttt{NaN} bepalen de 14 bits na de exponent de TAG.
\end{itemize}
} % }}}
\subsection{Browser onderdelen}
\frame { \frametitle{Wat doet elk onderdeel?} % {{{
In de Mozilla Firefox browser:
\begin{itemize}
\item User Interface
\item Networking
\item Render engine (Gecko)
\item JavaScript engine (SpiderMonkey)
\begin{itemize}
\pause \item Interpreter
\pause \item Method Just-In-Time compiler (JägerMonkey)
\pause \item \alert{Trace Just-In-Time compiler (TraceMonkey)}
\end{itemize}
\end{itemize}
} % }}}
\frame { \frametitle{Trace Just-In-Time compiler} % {{{
} % }}}
% \includegraphics[width=10cm]{images/toetspagina-1.png}
\end{document}
% vim: foldmethod=marker
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