diff options
| author | Irene Knapp <ireneista@irenes.space> | 2026-09-19 03:44:50 -0700 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2026-09-19 05:44:27 -0700 |
| commit | 7df4b2837166d31a7ad5607a226a49bcc82aaea9 (patch) | |
| tree | bb0474a702666b917f2d96f39b7e0b80e4fdda0d /transform.e | |
| parent | 2cc1bb8c69e642d5a49324760299997771917c04 (diff) | |
codeword annotations and such for the log-load transform
this is everything outside of log-load-transform-one itself compile time is up to nine minutes though, due to the new backwards-scan thing. keeping the entries sorted might be better... Change-Id: I96058f0c9c043f7b8b681018e1178505caddbc62 Force-Push: yes
Diffstat (limited to 'transform.e')
| -rw-r--r-- | transform.e | 170 |
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 |