@@ -12141,11 +12141,6 @@ \chapter{Tuples and Garbage Collection}
1214112141\index{subject}{vector}
1214212142\setcounter{footnote}{0}
1214312143
12144- %% \margincomment{\scriptsize To do: Flesh out this chapter, e.g., make sure
12145- %% all the IR grammars are spelled out! \\ --Jeremy}
12146- %% \margincomment{\scriptsize Be more explicit about how to deal with
12147- %% the root stack. \\ --Jeremy}
12148-
1214912144In this chapter we study the implementation of tuples\racket{, called
1215012145 vectors in Racket}. A tuple is a fixed-length sequence of elements
1215112146in which each element may have a different type.
@@ -13552,12 +13547,16 @@ \section{Select Instructions and the \LangXGlobal{} Language}
1355213547
1355313548\newcommand{\GrammarXGlobal}{
1355413549\begin{array}{lcl}
13550+ \Instr &::=& \key{andq}~\Arg\key{,}~\Arg
13551+ \MID \key{sarq}~\Arg\key{,}~\Arg \\
1355513552 \Arg &::=& \itm{label} \key{(\%rip)}
1355613553\end{array}
1355713554}
1355813555
1355913556\newcommand{\ASTXGlobalRacket}{
1356013557\begin{array}{lcl}
13558+ \Instr &::=& \BININSTR{\scode{andq}}{\Arg}{\Arg} \MID
13559+ \BININSTR{\scode{sarq}}{\Arg}{\Arg} \\
1356113560 \Arg &::=& \GLOBAL{\itm{label}}
1356213561\end{array}
1356313562}
@@ -13631,8 +13630,9 @@ \section{Select Instructions and the \LangXGlobal{} Language}
1363113630
1363213631The definitions of the concrete and abstract syntax of the
1363313632\LangXGlobal{} language are shown in figures~\ref{fig:x86-2-concrete}
13634- and \ref{fig:x86-2}. It differs from \LangXIf{} only in the addition
13635- of global variables.
13633+ and \ref{fig:x86-2}. It differs from \LangXIf{} with the addition
13634+ of global variables and the instructions needed to compile
13635+ tuple length: \code{andq} and \code{sarq}.
1363613636%
1363713637Figure~\ref{fig:select-instr-output-gc} shows the output of the
1363813638\code{select\_instructions} pass on the running example.
0 commit comments