|
@@ -26,7 +26,7 @@
|
|
|
|
|
|
\def\racketEd{0}
|
|
|
\def\pythonEd{1}
|
|
|
-\def\edition{1}
|
|
|
+\def\edition{0}
|
|
|
|
|
|
% material that is specific to the Racket edition of the book
|
|
|
\newcommand{\racket}[1]{{\if\edition\racketEd{#1}\fi}}
|
|
@@ -6712,9 +6712,12 @@ make sure to take into account the space used for saving the
|
|
|
callee-saved registers. Also, remember that the frame needs to be a
|
|
|
multiple of 16 bytes! We recommend using the following equation for
|
|
|
the amount $A$ to subtract from the \code{rsp}. Let $S$ be the number
|
|
|
-of spilled variables and $C$ be the number of callee-saved registers
|
|
|
-that were allocated to variables. The $\itm{align}$ function rounds a
|
|
|
-number up to the nearest 16 bytes.
|
|
|
+of stack locations used by spilled variables\footnote{Sometimes two or
|
|
|
+ more spilled variables are assigned to the same stack location, so
|
|
|
+ $S$ can be less than the number of spilled variables.} and $C$ be
|
|
|
+the number of callee-saved registers that were allocated to
|
|
|
+variables. The $\itm{align}$ function rounds a number up to the
|
|
|
+nearest 16 bytes.
|
|
|
\[
|
|
|
\itm{A} = \itm{align}(8\itm{S} + 8\itm{C}) - 8\itm{C}
|
|
|
\]
|