diff options
| author | Irene Knapp <ireneista@irenes.space> | 2026-05-20 23:15:25 -0700 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2026-05-20 23:15:25 -0700 |
| commit | 1878bd75120124841bc0ad32e6fdf5695149918e (patch) | |
| tree | 0d0bdb62d9082c888e3472629ba422a43bad68c5 | |
| parent | 54d5bfe751d8489ae727eec1cb8d4a9a2279a5e5 (diff) | |
okay, keywords work under the log-load transform now
Force-Push: yes Change-Id: I1fc56015d3f2510157982a4387874f99a77cdc5f
| -rw-r--r-- | transform.e | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/transform.e b/transform.e index 22c4ecf..236c031 100644 --- a/transform.e +++ b/transform.e @@ -809,7 +809,7 @@ allocate-transform-state s" transform-state" variable ~ TODO there should really be an actual word that this alternate is replacing ~ -~ (string pointer --) +~ If it existed, that word would be (string pointer --). : label-keyword-alternate label-create-alternate @@ -1697,27 +1697,24 @@ allocate-transform-state s" transform-state" variable ~ TODO there should really be an actual word that this alternate is replacing ~ -~ (string pointer --) +~ If it existed, that word would be (string pointer --). : log-load-keyword-alternate - word value@ - ~ Calling log-load-create-alternate would result in some redundant rolling ~ and unrolling, so we do it together like this instead. log-load-roll-log-address swap-transform-variables L@' log-load-keyword - L@' litstring + L@' swap swap-transform-variables - ~ The overall stack delta of this sequence is 0. - offset-to-target-address-space , ~ litstring - swap here @ swap packstring 8 packalign here ! + offset-to-target-address-space , ~ swap offset-to-target-address-space , ~ log-load-keyword - log-load-unroll-log-address + ~ We consumed the string, so we apply a delta. + -1 transform-apply-stack-delta - dropstring + log-load-unroll-log-address ; make-immediate |