Browse Source

refresh the output in figures 7.15 and 7.10, fixing issue #198

Jeremy Siek 2 tuần trước cách đây
mục cha
commit
d9e3ba11ab
1 tập tin đã thay đổi với 205 bổ sung100 xóa
  1. 205 100
      book.tex

+ 205 - 100
book.tex

@@ -23,7 +23,7 @@
 
 \def\racketEd{0}
 \def\pythonEd{1}
-\def\edition{0}
+\def\edition{1}
 
 % material that is specific to the Racket edition of the book
 \newcommand{\racket}[1]{{\if\edition\racketEd{#1}\fi}}
@@ -13144,23 +13144,40 @@ Figure~\ref{fig:expose-alloc-output} shows the output of the
 {\if\edition\pythonEd\pythonColor
 \begin{lstlisting}
     v1 = begin:
-            init.514 = 42
+            init.1 = 42
             if (free_ptr + 16) < fromspace_end:
             else:
               collect(16)
-            alloc.513 = allocate(1,tuple[int])
-            alloc.513[0] = init.514
-            alloc.513
+            alloc.0 = allocate(1,tuple[int])
+            alloc.0[0] = init.1
+            alloc.0
     v2 = begin:
-            init.516 = v1
+            init.3 = v1
             if (free_ptr + 16) < fromspace_end:
             else:
               collect(16)
-            alloc.515 = allocate(1,tuple[tuple[int]])
-            alloc.515[0] = init.516
-            alloc.515
+            alloc.2 = allocate(1,tuple[tuple[int]])
+            alloc.2[0] = init.3
+            alloc.2
     print(v2[0][0])
 \end{lstlisting}
+    %% v1 = begin:
+    %%         init.514 = 42
+    %%         if (free_ptr + 16) < fromspace_end:
+    %%         else:
+    %%           collect(16)
+    %%         alloc.513 = allocate(1,tuple[int])
+    %%         alloc.513[0] = init.514
+    %%         alloc.513
+    %% v2 = begin:
+    %%         init.516 = v1
+    %%         if (free_ptr + 16) < fromspace_end:
+    %%         else:
+    %%           collect(16)
+    %%         alloc.515 = allocate(1,tuple[tuple[int]])
+    %%         alloc.515[0] = init.516
+    %%         alloc.515
+    %% print(v2[0][0])
 \fi}
   \end{tcolorbox}
 \caption{Output of the \code{expose\_allocation} pass.}
@@ -13732,119 +13749,207 @@ block6:
 \begin{minipage}{0.5\textwidth}
 \begin{lstlisting}[basicstyle=\ttfamily\scriptsize]
 start:
-    init.514 = 42
-    tmp.517 = free_ptr
-    tmp.518 = (tmp.517 + 16)
-    tmp.519 = fromspace_end
-    if tmp.518 < tmp.519:
-      goto block.529
+    init.1 = 42
+    tmp.4 = (free_ptr + 16)
+    if tmp.4 < fromspace_end:
+      goto block.10
     else:
-      goto block.530
+      goto block.11
+
+block.10:
+    alloc.0 = allocate(1,tuple[int])
+    alloc.0:tuple[int][0] = init.1
+    v1 = alloc.0
+    init.3 = v1
+    tmp.5 = (free_ptr + 16)
+    if tmp.5 < fromspace_end:
+      goto block.8
+    else:
+      goto block.9
+
+block.8:
+    alloc.2 = allocate(1,tuple[tuple[int]])
+    alloc.2:tuple[tuple[int]][0] = init.3
+    v2 = alloc.2
+    tmp.6 = v2[0]
+    tmp.7 = tmp.6[0]
+    print(tmp.7)
+    return 0
 
-block.529:
-    goto block.528
+block.9:
+    collect(16)
+    goto block.8
 
-block.530:
+block.11:
     collect(16)
-    goto block.528
-
-block.528:
-    alloc.513 = allocate(1,tuple[int])
-    alloc.513:tuple[int][0] = init.514
-    v1 = alloc.513
-    init.516 = v1
-    tmp.520 = free_ptr
-    tmp.521 = (tmp.520 + 16)
-    tmp.522 = fromspace_end
-    if tmp.521 < tmp.522:
-      goto block.526
-    else:
-      goto block.527
+    goto block.10
+\end{lstlisting}
+%% start:
+%%     init.514 = 42
+%%     tmp.517 = free_ptr
+%%     tmp.518 = (tmp.517 + 16)
+%%     tmp.519 = fromspace_end
+%%     if tmp.518 < tmp.519:
+%%       goto block.529
+%%     else:
+%%       goto block.530
+
+%% block.529:
+%%     goto block.528
+
+%% block.530:
+%%     collect(16)
+%%     goto block.528
+
+%% block.528:
+%%     alloc.513 = allocate(1,tuple[int])
+%%     alloc.513:tuple[int][0] = init.514
+%%     v1 = alloc.513
+%%     init.516 = v1
+%%     tmp.520 = free_ptr
+%%     tmp.521 = (tmp.520 + 16)
+%%     tmp.522 = fromspace_end
+%%     if tmp.521 < tmp.522:
+%%       goto block.526
+%%     else:
+%%       goto block.527
     
-block.526:
-    goto block.525
+%% block.526:
+%%     goto block.525
 
-block.527:
-    collect(16)
-    goto block.525
+%% block.527:
+%%     collect(16)
+%%     goto block.525
     
-block.525:
-    alloc.515 = allocate(1,tuple[tuple[int]])
-    alloc.515:tuple[tuple[int]][0] = init.516
-    v2 = alloc.515
-    tmp.523 = v2[0]
-    tmp.524 = tmp.523[0]
-    print(tmp.524)
-    return 0
-\end{lstlisting}
+%% block.525:
+%%     alloc.515 = allocate(1,tuple[tuple[int]])
+%%     alloc.515:tuple[tuple[int]][0] = init.516
+%%     v2 = alloc.515
+%%     tmp.523 = v2[0]
+%%     tmp.524 = tmp.523[0]
+%%     print(tmp.524)
+%%     return 0
 \end{minipage}
 &$\Rightarrow$&
 \begin{minipage}{0.4\textwidth}
-\begin{lstlisting}[basicstyle=\ttfamily\scriptsize]
+  \begin{lstlisting}[basicstyle=\ttfamily\scriptsize]
 start:
-    movq $42, init.514
-    movq free_ptr(%rip), tmp.517
-    movq tmp.517, tmp.518
-    addq $16, tmp.518
-    movq fromspace_end(%rip), tmp.519
-    cmpq tmp.519, tmp.518
-    jl block.529
-    jmp block.530
-
-block.529:
-    jmp block.528
-
-block.530:
-    movq %r15, %rdi
-    movq $16, %rsi
-    callq collect
-    jmp block.528
-
-block.528:
+    movq $42, init.1
+    movq free_ptr(%rip), tmp.4
+    addq $16, tmp.4
+    cmpq fromspace_end(%rip), tmp.4
+    jl block.10
+    jmp block.11
+
+block.10:
     movq free_ptr(%rip), %r11
     addq $16, free_ptr(%rip)
     movq $3, 0(%r11)
-    movq %r11, alloc.513
-    movq alloc.513, %r11
-    movq init.514, 8(%r11)
-    movq alloc.513, v1
-    movq v1, init.516
-    movq free_ptr(%rip), tmp.520
-    movq tmp.520, tmp.521
-    addq $16, tmp.521
-    movq fromspace_end(%rip), tmp.522
-    cmpq tmp.522, tmp.521
-    jl block.526
-    jmp block.527
-
-block.526:
-    jmp block.525
-
-block.527:
-    movq %r15, %rdi
-    movq $16, %rsi
-    callq collect
-    jmp block.525
-
-block.525:
+    movq %r11, alloc.0
+    movq alloc.0, %r11
+    movq init.1, 8(%r11)
+    movq alloc.0, v1
+    movq v1, init.3
+    movq free_ptr(%rip), tmp.5
+    addq $16, tmp.5
+    cmpq fromspace_end(%rip), tmp.5
+    jl block.8
+    jmp block.9
+
+block.8:
     movq free_ptr(%rip), %r11
     addq $16, free_ptr(%rip)
     movq $131, 0(%r11)
-    movq %r11, alloc.515
-    movq alloc.515, %r11
-    movq init.516, 8(%r11)
-    movq alloc.515, v2
+    movq %r11, alloc.2
+    movq alloc.2, %r11
+    movq init.3, 8(%r11)
+    movq alloc.2, v2
     movq v2, %r11
-    movq 8(%r11), %r11
-    movq %r11, tmp.523
-    movq tmp.523, %r11
-    movq 8(%r11), %r11
-    movq %r11, tmp.524
-    movq tmp.524, %rdi
+    movq 8(%r11), tmp.6
+    movq tmp.6, %r11
+    movq 8(%r11), tmp.7
+    movq tmp.7, %rdi
     callq print_int
     movq $0, %rax
     jmp conclusion
+
+block.9:
+    movq %r15, %rdi
+    movq $16, %rsi
+    callq collect
+    jmp block.8
+
+block.11:
+    movq %r15, %rdi
+    movq $16, %rsi
+    callq collect
+    jmp block.10
 \end{lstlisting}
+
+%% start:
+%%     movq $42, init.514
+%%     movq free_ptr(%rip), tmp.517
+%%     movq tmp.517, tmp.518
+%%     addq $16, tmp.518
+%%     movq fromspace_end(%rip), tmp.519
+%%     cmpq tmp.519, tmp.518
+%%     jl block.529
+%%     jmp block.530
+
+%% block.529:
+%%     jmp block.528
+
+%% block.530:
+%%     movq %r15, %rdi
+%%     movq $16, %rsi
+%%     callq collect
+%%     jmp block.528
+
+%% block.528:
+%%     movq free_ptr(%rip), %r11
+%%     addq $16, free_ptr(%rip)
+%%     movq $3, 0(%r11)
+%%     movq %r11, alloc.513
+%%     movq alloc.513, %r11
+%%     movq init.514, 8(%r11)
+%%     movq alloc.513, v1
+%%     movq v1, init.516
+%%     movq free_ptr(%rip), tmp.520
+%%     movq tmp.520, tmp.521
+%%     addq $16, tmp.521
+%%     movq fromspace_end(%rip), tmp.522
+%%     cmpq tmp.522, tmp.521
+%%     jl block.526
+%%     jmp block.527
+
+%% block.526:
+%%     jmp block.525
+
+%% block.527:
+%%     movq %r15, %rdi
+%%     movq $16, %rsi
+%%     callq collect
+%%     jmp block.525
+
+%% block.525:
+%%     movq free_ptr(%rip), %r11
+%%     addq $16, free_ptr(%rip)
+%%     movq $131, 0(%r11)
+%%     movq %r11, alloc.515
+%%     movq alloc.515, %r11
+%%     movq init.516, 8(%r11)
+%%     movq alloc.515, v2
+%%     movq v2, %r11
+%%     movq 8(%r11), %r11
+%%     movq %r11, tmp.523
+%%     movq tmp.523, %r11
+%%     movq 8(%r11), %r11
+%%     movq %r11, tmp.524
+%%     movq tmp.524, %rdi
+%%     callq print_int
+%%     movq $0, %rax
+%%     jmp conclusion
+  
 \end{minipage}
 \end{tabular}
 \fi}