summary refs log tree commit diff
path: root/execution.e
diff options
context:
space:
mode:
authorIrene Knapp <ireneista@irenes.space>2026-08-28 05:28:35 -0700
committerIrene Knapp <ireneista@irenes.space>2026-08-28 20:12:35 -0700
commit6e0227328154e18810d8dfa4489bf84c9c15cbf7 (patch)
treecdc3454338b96cadbaec6a15533ecdb9c4b7b3a6 /execution.e
parent9eb7d0fabb2a786d2aa9f56244360afb381e7c18 (diff)
change the transforms to take their end delimiters as parameters
this will not be useful until read-to-buffer also does, but it's a step towards that

Force-Push: yes
Change-Id: Icf03088c9e52e427a5c130949e9ba85655d59044
Diffstat (limited to 'execution.e')
-rw-r--r--execution.e14
1 files changed, 8 insertions, 6 deletions
diff --git a/execution.e b/execution.e
index 7a10e70..c6b6254 100644
--- a/execution.e
+++ b/execution.e
@@ -400,16 +400,17 @@
 ~ pointers. It was directly jumped to from cold-start. There's nowhere to
 ~ return to, so it needs to never return.
 ~
-~ (output buffer start, output point, input string pointer
+~ (output buffer start, output point, input string pointer, delimiter pointer
 ~  -- output buffer start, output point)
 : output-warm-start
   ~   While it's not actually a requirement that codeword pointers be
   ~ word-aligned, it's highly likely that it helps performance. (Whether it
   ~ does is up to Intel's microcode.)
-  3unroll
+  4 unroll 3unroll
   8 packalign
   current-offset L!' warm-start
-  ~ (input string pointer, output buffer start, output point)
+  ~ (delimiter pointer, input string pointer,
+  ~  output buffer start, output point)
 
   ~   Before handing off to us, cold-start pushed a single value onto the
   ~ stack, a pointer to the beginning of the log. Now, we load our entire
@@ -491,10 +492,11 @@
   ~ we can go ahead and dispatch to the log-load transform, and do the rest of
   ~ the code through that.
 
-  ~ (input string pointer, output buffer start, output point)
-  3roll
+  ~ (delimiter pointer, input string pointer,
+  ~  output buffer start, output point)
+  3roll 4 roll
   log-load-transform
-  ~ (output point)
+  ~ (output buffer start, output point)
 
   ~   Now everything we need has been added to the log and we're almost ready
   ~ to jump into it. It's inconvenient for code under the log-load transform