diff options
| author | Irene Knapp <ireneista@irenes.space> | 2026-09-22 18:52:50 -0700 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2026-09-23 02:27:52 -0700 |
| commit | d5030a4cf75b3600c957b0d48e0e68946367e919 (patch) | |
| tree | 328e4d8741978d8f458acc21e528dad3b1213888 /transform.e | |
| parent | a569f93740bbbac3230434ee56bc51aa38be21ac (diff) | |
all the syscall parameters are in the kernel's order now
there was never a good reason for them not to be plus, the formerly bespoke ones use the generic helpers now; sys-open and sys-close are implemented; and a bug in push-input-buffer and pop-output-buffer is fixed unfortunately these were breaking changes, so there's another evoke.hex in this one Change-Id: Ifad58fc2fd757adcf89a69c59575565a10406ec2 Force-Push: yes
Diffstat (limited to 'transform.e')
| -rw-r--r-- | transform.e | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/transform.e b/transform.e index 0a5af3e..26ee650 100644 --- a/transform.e +++ b/transform.e @@ -273,7 +273,7 @@ : push-input-buffer allocate-input-buffer-metadata ~ (original metadata pointer, new metadata pointer) - 2dup 6 8 * memcopy + 2dup 7 8 * memcopy ~ (original metadata pointer, new metadata pointer) swap dup zero-input-buffer-metadata input-buffer-next-source ! ; @@ -290,7 +290,7 @@ : pop-input-buffer dup input-buffer-next-source @ ~ (original metadata pointer, next source metadata pointer) - dup { swap 6 8 * memcopy } + dup { swap 7 8 * memcopy } { drop zero-input-buffer-metadata } if-else ; @@ -4479,7 +4479,7 @@ allocate-transformation-state s" transformation-state" variable ~ want to require that, so we keep all the formatting state in the output ~ metadata header. ~ -~ (length to write, base address, file descriptor -- length written) +~ (file descriptor, base address, length to write -- length written) : hex-sys-write-replacement ~ In intended operation, the code under transformation is a compilation ~ process, and it won't output anything that isn't executable binary. @@ -4488,7 +4488,7 @@ allocate-transformation-state s" transformation-state" variable over is-in-label-loop-buffer not { sys-write exit } if - drop over 3unroll + 3roll drop dup 3roll ~ The result should be the length written. We just proactively declare ~ that we'll write the full length we were asked to, threading that through ~ as the result we'll eventually return. |