|
@@ -5552,7 +5552,7 @@ a multiple of 16 bytes!
|
|
|
\begin{tikzpicture}[baseline=(current bounding box.center)]
|
|
|
\node (Lvar) at (0,2) {\large \LangVar{}};
|
|
|
\node (Lvar-2) at (3,2) {\large \LangVar{}};
|
|
|
-\node (Lvar-3) at (6,2) {\large \LangVar{}};
|
|
|
+\node (Lvar-3) at (6,2) {\large \LangVarANF{}};
|
|
|
\node (Cvar-1) at (3,0) {\large \LangCVar{}};
|
|
|
|
|
|
\node (x86-2) at (3,-2) {\large \LangXVar{}};
|
|
@@ -8763,7 +8763,7 @@ conclusion:
|
|
|
\node (Lif-2) at (3,2) {\large \LangIf{}};
|
|
|
\node (Lif-3) at (6,2) {\large \LangIf{}};
|
|
|
\node (Lif-4) at (9,2) {\large \LangIf{}};
|
|
|
-\node (Lif-5) at (12,2) {\large \LangIf{}};
|
|
|
+\node (Lif-5) at (12,2) {\large \LangIfANF{}};
|
|
|
\node (C1-1) at (3,0) {\large \LangCIf{}};
|
|
|
|
|
|
\node (x86-2) at (3,-2) {\large \LangXIfVar{}};
|
|
@@ -8790,7 +8790,7 @@ conclusion:
|
|
|
\begin{tikzpicture}[baseline=(current bounding box.center)]
|
|
|
\node (Lif-1) at (0,2) {\large \LangIf{}};
|
|
|
\node (Lif-2) at (3,2) {\large \LangIf{}};
|
|
|
-\node (Lif-3) at (6,2) {\large \LangIf{}};
|
|
|
+\node (Lif-3) at (6,2) {\large \LangIfANF{}};
|
|
|
\node (C-1) at (3,0) {\large \LangCIf{}};
|
|
|
|
|
|
\node (x86-1) at (3,-2) {\large \LangXIfVar{}};
|
|
@@ -9285,10 +9285,8 @@ blocks on several test programs.
|
|
|
|
|
|
The algorithm for the \code{explicate\_control} pass comes from the
|
|
|
course notes of \citet{Dybvig:2010aa} and it has several similarities
|
|
|
-to an algorithm of \citet{Danvy:2003fk}. The use of lazy evaluation in
|
|
|
-Section~\ref{sec:opt-jumps} to prevent the generation of unused basic
|
|
|
-blocks appears to be new. The treatment of conditionals in the
|
|
|
-\code{explicate\_control} pass is similar to the case-of-case
|
|
|
+to an algorithm of \citet{Danvy:2003fk}. The treatment of conditionals
|
|
|
+in the \code{explicate\_control} pass is similar to the case-of-case
|
|
|
transformation of \citet{PeytonJones:1998} and to short-cut boolean
|
|
|
evaluation~\citep{Logothetis:1981,Aho:1986qf,Clarke:1989,Danvy:2003fk}.
|
|
|
|
|
@@ -10360,7 +10358,7 @@ The \code{analyze\_dataflow} function has four parameters.
|
|
|
%\node (F1-2) at (9,0) {\large \LangLoopFunRef{}};
|
|
|
%\node (F1-3) at (6,0) {\large \LangLoopFunRef{}};
|
|
|
\node (F1-4) at (6,2) {\large \LangLoop{}};
|
|
|
-\node (F1-5) at (9,2) {\large \LangLoop{}};
|
|
|
+\node (F1-5) at (9,2) {\large \LangLoopANF{}};
|
|
|
\node (C3-2) at (3,0) {\large \racket{\LangCLoop{}}\python{\LangCIf{}}};
|
|
|
|
|
|
\node (x86-2) at (3,-2) {\large \LangXIfVar{}};
|
|
@@ -11783,7 +11781,7 @@ conclusion:
|
|
|
\node (Lvec-2) at (3,2) {\large \LangVec{}};
|
|
|
\node (Lvec-3) at (6,2) {\large \LangVec{}};
|
|
|
\node (Lvec-4) at (9,2) {\large \LangVec{}};
|
|
|
-\node (Lvec-5) at (12,2) {\large \LangAlloc{}};
|
|
|
+\node (Lvec-5) at (12,2) {\large \LangAllocANF{}};
|
|
|
\node (C2-4) at (3,0) {\large \LangCVec{}};
|
|
|
|
|
|
\node (x86-2) at (3,-2) {\large \LangXGlobalVar{}};
|
|
@@ -13326,7 +13324,7 @@ previously created test programs.
|
|
|
\node (F1-1) at (12,0) {\large \LangFunRef{}};
|
|
|
\node (F1-2) at (9,0) {\large \LangFunRef{}};
|
|
|
\node (F1-3) at (6,0) {\large \LangFunRefAlloc{}};
|
|
|
-\node (F1-4) at (3,0) {\large \LangFunRefAlloc{}};
|
|
|
+\node (F1-4) at (3,0) {\large \LangFunANF{}};
|
|
|
\node (C3-2) at (3,-2) {\large \LangCFun{}};
|
|
|
|
|
|
\node (x86-2) at (3,-4) {\large \LangXIndCallVar{}};
|
|
@@ -14239,7 +14237,7 @@ extract the $5$-bits starting at position $58$ from the tag.
|
|
|
\node (F1-2) at (9,0) {\large \LangFunRef{}};
|
|
|
\node (F1-3) at (6,0) {\large $F_1$};
|
|
|
\node (F1-4) at (3,0) {\large $F_1$};
|
|
|
-\node (F1-5) at (0,0) {\large $F_1$};
|
|
|
+\node (F1-5) at (0,0) {\large $F^{\RCO}_1$};
|
|
|
\node (C3-2) at (3,-2) {\large \LangCFun{}};
|
|
|
|
|
|
\node (x86-2) at (3,-4) {\large \LangXIndCallVar{}};
|