|
@@ -3081,7 +3081,7 @@ programs is below:
|
|
|
\begin{minipage}{0.87\textwidth}
|
|
|
\[
|
|
|
\begin{array}{lcl}
|
|
|
- R_2 &::=& (\key{program}\;(\key{type}\;\textit{type})\; \Exp)
|
|
|
+ R_2 &::=& (\key{program}\;(\key{type}\;\itm{type})\; \Exp)
|
|
|
\end{array}
|
|
|
\]
|
|
|
\end{minipage}
|
|
@@ -4242,7 +4242,7 @@ via two vector references.
|
|
|
&\mid& (\key{initialize}\,\itm{int}\,\itm{int}) \\
|
|
|
&\mid& \IF{(\key{collection-needed?}\,\itm{int})}{\Stmt^{*}}{\Stmt^{*}} \\
|
|
|
&\mid& (\key{collect} \,\itm{int}) \\
|
|
|
- &\mid& (\key{allocate} \,\itm{int}) \\
|
|
|
+ &\mid& (\key{allocate} \,\itm{int}\,\itm{type}) \\
|
|
|
&\mid& (\key{call-live-roots}\,(\Var^{*}) \,\Stmt^{*}) \\
|
|
|
C_2 & ::= & \gray{ (\key{program}\;(\Var^{*})\;(\key{type}\;\textit{type})\;\Stmt^{+}) }
|
|
|
\end{array}
|
|
@@ -4293,7 +4293,7 @@ the tag) plus $\itm{len}$ times 8.
|
|
|
(if (collection-needed? |$\itm{bytes}$|)
|
|
|
((collect |$\itm{bytes}$|))
|
|
|
())
|
|
|
- (assign |$\itm{lhs}$| (allocate |$\itm{len}$|))
|
|
|
+ (assign |$\itm{lhs}$| (allocate |$\itm{len}$| |$T$|))
|
|
|
(vector-set! |$\itm{lhs}$| |$0$| |$e_0$|)
|
|
|
|$\ldots$|
|
|
|
(vector-set! |$\itm{lhs}$| |$n{-}1$| |$e_{n-1}$|)
|
|
@@ -4473,7 +4473,7 @@ register \code{r11}, before the move to the offset of \code{r11}
|
|
|
ensures that if $ \itm{lhs}^\prime $ offsets are only performed with
|
|
|
register operands.
|
|
|
\begin{lstlisting}
|
|
|
- (assign |$\itm{lhs}$| (hash-type (allocate |$\itm{len}$|) (Vector |$\itm{types}$|)))
|
|
|
+ (assign |$\itm{lhs}$| (allocate |$\itm{len}$| (Vector |$\itm{types}$|)))
|
|
|
|$\Longrightarrow$|
|
|
|
(movq (global-value free_ptr) |$\itm{lhs}'$|)
|
|
|
(addq (int |$8(\itm{len}+1)$|) (global-value free_ptr))
|