From ec7fefbae7b9651b5cfe320b2d8b8db27fbc683f Mon Sep 17 00:00:00 2001 From: Irene Knapp Date: Mon, 5 Oct 2026 02:31:30 -0700 Subject: use the new x' everywhere it's applicable you may infer from the size of the CL that we've been wanting this for QUITE A WHILE Force-Push: yes Change-Id: Iaa6ff8f40bd4020a75b81aadd87874cc8d512123 --- language/dynamic/files.e | 2 +- language/dynamic/flow-control.e | 30 +++++++++++++++--------------- language/dynamic/interpret.e | 4 ++-- language/dynamic/linux.e | 4 ++-- 4 files changed, 20 insertions(+), 20 deletions(-) (limited to 'language') diff --git a/language/dynamic/files.e b/language/dynamic/files.e index 71fb355..21d4096 100644 --- a/language/dynamic/files.e +++ b/language/dynamic/files.e @@ -133,7 +133,7 @@ ~ (metadata pointer) default-buffer-size over buffer-physical-length ! 0 over buffer-logical-length ! - ' refill-input-buffer-from-stream entry-to-execution-token + x' refill-input-buffer-from-stream swap input-buffer-refill ! ; diff --git a/language/dynamic/flow-control.e b/language/dynamic/flow-control.e index d4a9dd3..a8ebc3d 100644 --- a/language/dynamic/flow-control.e +++ b/language/dynamic/flow-control.e @@ -33,12 +33,12 @@ swap here @ swap here ! swap ~ (old here, length) - ' lit entry-to-execution-token , 0 , - ' != entry-to-execution-token , + x' lit , 0 , + x' != , ~ The branch length needs to be one word longer than the block length, ~ because the length field itself is part of the scope of the branch. - ' 0branch entry-to-execution-token , dup 8 + , + x' 0branch , dup 8 + , ~ (old here, length) drop 5 8 * + here ! @@ -53,11 +53,11 @@ ~ (start pointer, length) swap here @ swap here ! swap ~ (old here, length) - ' lit entry-to-execution-token , 0 , - ' = entry-to-execution-token , + x' lit , 0 , + x' = , ~ The branch length needs to be one word longer than the block length, ~ because the length field itself is part of the scope of the branch. - ' 0branch entry-to-execution-token , dup 8 + , + x' 0branch , dup 8 + , ~ (old here, length) drop 5 8 * + here ! ; make-immediate @@ -79,16 +79,16 @@ ~ Now we write out the initial test-and-branch. 4 roll dup 5 unroll here @ 6 unroll here ! ~ (old here, true start, true length, false start, false length) - ' lit entry-to-execution-token , 0 , - ' != entry-to-execution-token , + x' lit , 0 , + x' != , ~ Branch past the length field, the true-block, and the unconditional ~ branch in the middle. - ' 0branch entry-to-execution-token , + x' 0branch , 3roll dup 4 unroll 3 8 * + , ~ Next, write out the unconditional branch in the middle. swap dup 3unroll 5 8 * + here ! - ' branch entry-to-execution-token , + x' branch , ~ Branch past the length field and the false-block. dup 8 + , @@ -99,7 +99,7 @@ ~ (start, length --) : forever - ' branch entry-to-execution-token , 8 + -1 * , drop + x' branch , 8 + -1 * , drop ; make-immediate @@ -113,17 +113,17 @@ 2dup swap dup 5 8 * + 3roll memmove here @ 5 unroll swap dup 3unroll here ! ~ (old here, test start, test length, body start, body length) - ' lit entry-to-execution-token , 0 , - ' != entry-to-execution-token , + x' lit , 0 , + x' != , ~ Branch past the length field, the body, and the unconditional branch. - ' 0branch entry-to-execution-token , + x' 0branch , dup 3 8 * + , ~ Set "here" to the new end. 5 8 * 6 roll + here ! ~ (test start, test length, body start, body length) ~ Unconditionally branch backwards past the branch word, the body, the ~ conditional branch, and the test. - ' branch entry-to-execution-token , + x' branch , 6 8 * + swap drop + swap drop -1 * , ; make-immediate diff --git a/language/dynamic/interpret.e b/language/dynamic/interpret.e index ff35b62..6f91d4e 100644 --- a/language/dynamic/interpret.e +++ b/language/dynamic/interpret.e @@ -500,7 +500,7 @@ latest @ ~ Finicky semantics, but also important. : ." - ' s" entry-to-execution-token execute + x' s" execute interpreter-flags @ 1 & { [ s" emitstring" find literal ] ~ As with s", the magic comment is for completeness only. @@ -557,7 +557,7 @@ latest @ ~ ourselves are compiled, hardcoded; doing a dynamic lookup would ~ require dealing with what happens if it's not found. dropstring-with-result - ' lit entry-to-execution-token + x' lit , , exit } if diff --git a/language/dynamic/linux.e b/language/dynamic/linux.e index 680bdb4..2b3194d 100644 --- a/language/dynamic/linux.e +++ b/language/dynamic/linux.e @@ -339,7 +339,7 @@ dup sigaction-mask 0 swap ! dup sigaction-flags 0x04000000 swap ! dup sigaction-restorer - ' signal-return-trampoline entry-to-execution-token @ swap ! + x' signal-return-trampoline @ swap ! ~ (signal number, struct pointer) allocate-sigaction sys-sigaction drop ; @@ -348,7 +348,7 @@ : handle-crash ." CRASH" newline list-callers 1 sys-exit ; : install-crash-handler - ' handle-crash entry-to-execution-token wrap-signal-handler + x' handle-crash wrap-signal-handler 11 bind-signal ; ~ There are scenarios where someone might want to disable this, for example -- cgit 1.4.1