summary refs log tree commit diff
path: root/transform.e
diff options
context:
space:
mode:
Diffstat (limited to 'transform.e')
-rw-r--r--transform.e170
1 files changed, 105 insertions, 65 deletions
diff --git a/transform.e b/transform.e
index e9f3539..a8c61cc 100644
--- a/transform.e
+++ b/transform.e
@@ -1611,7 +1611,7 @@ allocate-transformation-state s" transformation-state" variable
     L@' swap
     swap-transform-variables
 
-    offset-to-target-address-space ,     ~ swap
+    offset-to-target-address-space ,   ~ : -8 swap    (codeword pointer)
 
     exit
   } if
@@ -1621,9 +1621,10 @@ allocate-transformation-state s" transformation-state" variable
   L@' lit
   swap-transform-variables
 
-  offset-to-target-address-space ,     ~ lit
-  swap ,
-  offset-to-target-address-space ,     ~ roll
+  offset-to-target-address-space ,     ~ : -8 lit    (codeword pointer)
+  swap                                 ~ : provide-hex
+  ,                                    ~ : -8 #    (integer literal)
+  offset-to-target-address-space ,     ~ : -8 roll    (codeword pointer)
   ;
 
 
@@ -1643,7 +1644,7 @@ allocate-transformation-state s" transformation-state" variable
     L@' swap
     swap-transform-variables
 
-    offset-to-target-address-space ,     ~ swap
+    offset-to-target-address-space ,   ~ : -8 swap    (codeword pointer)
 
     exit
   } if
@@ -1653,9 +1654,10 @@ allocate-transformation-state s" transformation-state" variable
   L@' lit
   swap-transform-variables
 
-  offset-to-target-address-space ,     ~ lit
-  swap ,
-  offset-to-target-address-space ,     ~ unroll
+  offset-to-target-address-space ,     ~ : -8 lit    (codeword pointer)
+  swap                                 ~ : provide-hex
+  ,                                    ~ : -8 #    (integer literal)
+  offset-to-target-address-space ,     ~ : -8 unroll    (codeword pointer)
   ;
 
 
@@ -1717,10 +1719,12 @@ allocate-transformation-state s" transformation-state" variable
   ~ (name pointer, log-load-comma, log-load-find-execution-token, litstring)
 
   ~ The overall stack delta of this sequence is 0.
-  offset-to-target-address-space ,     ~ litstring
+  offset-to-target-address-space ,     ~ : -8 litstring    (codeword pointer)
   3roll here @ swap packstring 8 packalign here !
-  offset-to-target-address-space ,     ~ log-load-find-execution-token
-  offset-to-target-address-space ,     ~ log-load-comma
+  offset-to-target-address-space ,
+  ~ : -8 log-load-find-execution-token    (codeword pointer)
+  offset-to-target-address-space ,
+  ~ : -8 log-load-comma    (codeword pointer)
 
   log-load-unroll-log-address ;
 
@@ -1748,10 +1752,11 @@ allocate-transformation-state s" transformation-state" variable
   swap-transform-variables
   ~ (name pointer, swap, log-load-find-execution-token, litstring)
 
-  offset-to-target-address-space ,     ~ litstring
+  offset-to-target-address-space ,     ~ : -8 litstring    (codeword pointer)
   3roll here @ swap packstring 8 packalign here !
-  offset-to-target-address-space ,     ~ log-load-find-execution-token
-  offset-to-target-address-space ,     ~ swap
+  offset-to-target-address-space ,
+  ~ : -8 log-load-find-execution-token    (codeword pointer)
+  offset-to-target-address-space ,     ~ : -8 swap    (codeword pointer)
 
   ~   Now the execution token is on the stack, immediately below the log
   ~ address, so we apply a delta for it.
@@ -1763,7 +1768,7 @@ allocate-transformation-state s" transformation-state" variable
   L@' execute
   swap-transform-variables
 
-  offset-to-target-address-space ,     ~ execute
+  offset-to-target-address-space ,     ~ : -8 execute    (codeword pointer)
 
   ~   Invoking execute consumes the execution token, which is a delta of -1.
   ~ Any additional delta is our caller's responsibility, per above.
@@ -1790,11 +1795,13 @@ allocate-transformation-state s" transformation-state" variable
   swap-transform-variables
 
   ~ The overall stack delta of this sequence is 0.
-  offset-to-target-address-space ,     ~ litstring
+  offset-to-target-address-space ,     ~ : -8 litstring    (codeword pointer)
   here @ s" docol" packstring 8 packalign here !
-  offset-to-target-address-space ,     ~ log-load-find-execution-token
-  offset-to-target-address-space ,     ~ execute
-  offset-to-target-address-space ,     ~ log-load-comma
+  offset-to-target-address-space ,
+  ~ : -8 log-load-find-execution-token    (codeword pointer)
+  offset-to-target-address-space ,     ~ : -8 execute    (codeword pointer)
+  offset-to-target-address-space ,
+  ~ : -8 log-load-comma    (codeword pointer)
 
   log-load-unroll-log-address ;
 
@@ -1816,13 +1823,17 @@ allocate-transformation-state s" transformation-state" variable
   swap-transform-variables
 
   ~ The overall stack delta of this sequence is 0.
-  offset-to-target-address-space ,     ~ litstring
+  offset-to-target-address-space ,     ~ : -8 litstring    (codeword pointer)
   here @ s" lit" packstring 8 packalign here !
-  offset-to-target-address-space ,     ~ log-load-find-execution-token
-  offset-to-target-address-space ,     ~ log-load-comma
-  offset-to-target-address-space ,     ~ lit
-  swap ,                               ~ the value
-  offset-to-target-address-space ,     ~ log-load-comma
+  offset-to-target-address-space ,
+  ~ : -8 log-load-find-execution-token    (codeword pointer)
+  offset-to-target-address-space ,
+  ~ : -8 log-load-comma    (codeword pointer)
+  offset-to-target-address-space ,     ~ : -8 lit    (codeword pointer)
+  swap                                 ~ : provide-hex
+  ,                                    ~ : -8 #    (integer literal)
+  offset-to-target-address-space ,
+  ~ : -8 log-load-comma    (codeword pointer)
 
   log-load-unroll-log-address ;
 
@@ -1854,10 +1865,11 @@ allocate-transformation-state s" transformation-state" variable
     swap-transform-variables
 
     ~ The overall stack delta of this sequence is 0.
-    offset-to-target-address-space ,     ~ swap
-    offset-to-target-address-space ,     ~ log-load-create
+    offset-to-target-address-space ,     ~ : -8 swap    (codeword pointer)
+    offset-to-target-address-space ,
+    ~ : -8 log-load-create    (codeword pointer)
 
-    ~   We've consumed a string pointer from the stack, so that's a delta of -1.
+    ~ We've consumed a string pointer from the stack, so that's a delta of -1.
     -1 transform-apply-stack-delta
 
     log-load-unroll-log-address
@@ -1881,9 +1893,10 @@ allocate-transformation-state s" transformation-state" variable
   swap-transform-variables
 
   ~ The overall stack delta of this sequence is 0.
-  offset-to-target-address-space ,     ~ litstring
+  offset-to-target-address-space ,     ~ : -8 litstring    (codeword pointer)
   swap here @ swap packstring 8 packalign here !
-  offset-to-target-address-space ,     ~ log-load-create
+  offset-to-target-address-space ,
+  ~ : -8 log-load-create    (codeword pointer)
 
   log-load-unroll-log-address
 
@@ -1924,7 +1937,8 @@ allocate-transformation-state s" transformation-state" variable
     L@' log-load-self-codeword
     swap-transform-variables
 
-    offset-to-target-address-space ,     ~ log-load-self-codeword
+    offset-to-target-address-space ,
+    ~ : -8 log-load-self-codeword    (codeword pointer)
 
     log-load-unroll-log-address
   } if-else
@@ -1948,10 +1962,12 @@ allocate-transformation-state s" transformation-state" variable
   swap-transform-variables
 
   ~ The overall stack delta of this sequence is 0.
-  offset-to-target-address-space ,     ~ litstring
+  offset-to-target-address-space ,     ~ : -8 litstring    (codeword pointer)
   here @ s" exit" packstring 8 packalign here !
-  offset-to-target-address-space ,     ~ log-load-find-execution-token
-  offset-to-target-address-space ,     ~ log-load-comma
+  offset-to-target-address-space ,
+  ~ : -8 log-load-find-execution-token    (codeword pointer)
+  offset-to-target-address-space ,
+  ~ : -8 log-load-comma    (codeword pointer)
 
   log-load-unroll-log-address
 
@@ -1979,7 +1995,8 @@ allocate-transformation-state s" transformation-state" variable
   swap-transform-variables
 
   ~ The stack delta of this call is 0.
-  offset-to-target-address-space ,     ~ log-load-semicolon-assembly
+  offset-to-target-address-space ,
+  ~ : -8 log-load-semicolon-assembly    (codeword pointer)
 
   log-load-unroll-log-address
 
@@ -2019,8 +2036,9 @@ allocate-transformation-state s" transformation-state" variable
     L@' swap
     swap-transform-variables
 
-    offset-to-target-address-space ,     ~ swap
-    offset-to-target-address-space ,     ~ log-load-comma
+    offset-to-target-address-space ,     ~ : -8 swap    (codeword pointer)
+    offset-to-target-address-space ,
+    ~ : -8 log-load-comma    (codeword pointer)
 
     ~   We consumed the value, so we apply a delta.
     -1 transform-apply-stack-delta
@@ -2046,8 +2064,9 @@ allocate-transformation-state s" transformation-state" variable
     L@' 3unroll
     swap-transform-variables
 
-    offset-to-target-address-space ,     ~ 3unroll
-    offset-to-target-address-space ,     ~ log-load-variable
+    offset-to-target-address-space ,     ~ : -8 3unroll    (codeword pointer)
+    offset-to-target-address-space ,
+    ~ : -8 log-load-variable    (codeword pointer)
 
     ~   We consumed the string and address, so we apply a delta.
     -2 transform-apply-stack-delta
@@ -2073,8 +2092,9 @@ allocate-transformation-state s" transformation-state" variable
     L@' swap
     swap-transform-variables
 
-    offset-to-target-address-space ,     ~ swap
-    offset-to-target-address-space ,     ~ log-load-keyword
+    offset-to-target-address-space ,     ~ : -8 swap    (codeword pointer)
+    offset-to-target-address-space ,
+    ~ : -8 log-load-keyword    (codeword pointer)
 
     ~   We consumed the string, so we apply a delta.
     -1 transform-apply-stack-delta
@@ -2128,7 +2148,7 @@ allocate-transformation-state s" transformation-state" variable
   L@' litstring
   swap-transform-variables
 
-  offset-to-target-address-space ,     ~ litstring
+  offset-to-target-address-space ,     ~ : -8 litstring    (codeword pointer)
   here @ swap packstring 8 packalign here !
 
   ~   Now the string pointer is on the stack at log-load time, so we apply a
@@ -2155,12 +2175,16 @@ allocate-transformation-state s" transformation-state" variable
     swap-transform-variables
 
     ~ The overall stack delta of this sequence is 0.
-    offset-to-target-address-space ,     ~ litstring
+    offset-to-target-address-space ,
+    ~ : -8 litstring    (codeword pointer)
     here @ s" litstring" packstring 8 packalign here !
-    offset-to-target-address-space ,     ~ log-load-find-execution-token
-    offset-to-target-address-space ,     ~ log-load-comma
-    offset-to-target-address-space ,     ~ swap
-    offset-to-target-address-space ,     ~ log-load-comma-string
+    offset-to-target-address-space ,
+    ~ : -8 log-load-find-execution-token    (codeword pointer)
+    offset-to-target-address-space ,
+    ~ : -8 log-load-comma    (codeword pointer)
+    offset-to-target-address-space ,     ~ : -8 swap    (codeword pointer)
+    offset-to-target-address-space ,
+    ~ : -8 log-load-comma-string    (codeword pointer)
 
     ~   We consumed the string pointer at log-load time, so we apply a delta
     ~ for it.
@@ -2188,7 +2212,8 @@ allocate-transformation-state s" transformation-state" variable
     L@' emitstring
     swap-transform-variables
 
-    offset-to-target-address-space ,     ~ emitstring
+    offset-to-target-address-space ,
+    ~ : -8 emitstring    (codeword pointer)
   } if-else
   ; make-immediate
 
@@ -2204,7 +2229,7 @@ allocate-transformation-state s" transformation-state" variable
   L@' litstring
   swap-transform-variables
 
-  offset-to-target-address-space ,     ~ litstring
+  offset-to-target-address-space ,     ~ : -8 litstring    (codeword pointer)
   here @ swap packstring 8 packalign here !
 
   ~ Apply a delta for the string pointer.
@@ -2228,17 +2253,24 @@ allocate-transformation-state s" transformation-state" variable
     swap-transform-variables
 
     ~ The overall stack delta of this sequence is 0.
-    offset-to-target-address-space ,     ~ litstring
+    offset-to-target-address-space ,
+    ~ : -8 litstring    (codeword pointer)
     here @ s" litstring" packstring 8 packalign here !
-    offset-to-target-address-space ,     ~ log-load-find-execution-token
-    offset-to-target-address-space ,     ~ log-load-comma
-    offset-to-target-address-space ,     ~ swap
-    offset-to-target-address-space ,     ~ log-load-comma-string
+    offset-to-target-address-space ,
+    ~ : -8 log-load-find-execution-token    (codeword pointer)
+    offset-to-target-address-space ,
+    ~ : -8 log-load-comma    (codeword pointer)
+    offset-to-target-address-space ,     ~ : -8 swap    (codeword pointer)
+    offset-to-target-address-space ,
+    ~ : -8 log-load-comma-string    (codeword pointer)
 
-    offset-to-target-address-space ,     ~ litstring
+    offset-to-target-address-space ,
+    ~ : -8 litstring    (codeword pointer)
     here @ s" find" packstring 8 packalign here !
-    offset-to-target-address-space ,     ~ log-load-find-execution-token
-    offset-to-target-address-space ,     ~ log-load-comma
+    offset-to-target-address-space ,
+    ~ : -8 log-load-find-execution-token    (codeword pointer)
+    offset-to-target-address-space ,
+    ~ : -8 log-load-comma    (codeword pointer)
 
     ~   We consumed the string pointer at log-load time, so we apply a delta
     ~ for it. As in log-load-string-alternate, this needs to be split into
@@ -2253,7 +2285,8 @@ allocate-transformation-state s" transformation-state" variable
     L@' log-load-find
     swap-transform-variables
 
-    offset-to-target-address-space ,     ~ log-load-comma
+    offset-to-target-address-space ,
+    ~ : -8 log-load-comma    (codeword pointer)
 
     ~   We leave an execution token on the log-load-time stack, so no delta
     ~ needed.
@@ -2333,7 +2366,8 @@ allocate-transformation-state s" transformation-state" variable
   L@' log-load-left-curly-brace
   swap-transform-variables
 
-  offset-to-target-address-space ,               ~ log-load-left-curly-brace
+  offset-to-target-address-space ,
+  ~ : -8 log-load-left-curly-brace    (codeword pointer)
 
   ~ It pushes a start pointer onto the stack.
   1 transform-apply-stack-delta
@@ -2349,7 +2383,8 @@ allocate-transformation-state s" transformation-state" variable
   L@' log-load-right-curly-brace
   swap-transform-variables
 
-  offset-to-target-address-space ,               ~ log-load-right-curly-brace
+  offset-to-target-address-space ,
+  ~ : -8 log-load-right-curly-brace    (codeword pointer)
 
   ~ It pushes a length value onto the stack.
   1 transform-apply-stack-delta
@@ -2366,7 +2401,8 @@ allocate-transformation-state s" transformation-state" variable
   L@' log-load-if
   swap-transform-variables
 
-  offset-to-target-address-space ,               ~ log-load-if
+  offset-to-target-address-space ,
+  ~ : -8 log-load-if    (codeword pointer)
 
   ~ It pops the start and length.
   -2 transform-apply-stack-delta
@@ -2383,7 +2419,8 @@ allocate-transformation-state s" transformation-state" variable
   L@' log-load-unless
   swap-transform-variables
 
-  offset-to-target-address-space ,               ~ log-load-unless
+  offset-to-target-address-space ,
+  ~ : -8 log-load-unless    (codeword pointer)
 
   ~ It pops the start and length.
   -2 transform-apply-stack-delta
@@ -2400,7 +2437,8 @@ allocate-transformation-state s" transformation-state" variable
   L@' log-load-if-else
   swap-transform-variables
 
-  offset-to-target-address-space ,               ~ log-load-if-else
+  offset-to-target-address-space ,
+  ~ : -8 log-load-if-else    (codeword pointer)
 
   ~ It pops two pairs of start and length.
   -4 transform-apply-stack-delta
@@ -2417,7 +2455,8 @@ allocate-transformation-state s" transformation-state" variable
   L@' log-load-forever
   swap-transform-variables
 
-  offset-to-target-address-space ,               ~ log-load-forever
+  offset-to-target-address-space ,
+  ~ : -8 log-load-forever    (codeword pointer)
 
   ~ It pops the start and length.
   -2 transform-apply-stack-delta
@@ -2434,7 +2473,8 @@ allocate-transformation-state s" transformation-state" variable
   L@' log-load-while
   swap-transform-variables
 
-  offset-to-target-address-space ,               ~ log-load-while
+  offset-to-target-address-space ,
+  ~ : -8 log-load-while    (codeword pointer)
 
   ~ It pops two pairs of start and length.
   -4 transform-apply-stack-delta