Skip to content

Commit 7459601

Browse files
committed
add andq and sarq, for issue #199
1 parent 235995d commit 7459601

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

book.tex

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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-
1214912144
In this chapter we study the implementation of tuples\racket{, called
1215012145
vectors in Racket}. A tuple is a fixed-length sequence of elements
1215112146
in 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

1363213631
The 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
%
1363713637
Figure~\ref{fig:select-instr-output-gc} shows the output of the
1363813638
\code{select\_instructions} pass on the running example.

0 commit comments

Comments
 (0)