<? opcode removed, location? added

<? opcode causes a bug in <;<? situation: combo instruction is skipped as one
This commit is contained in:
ESL 2024-06-24 23:46:19 -04:00
parent 9a4cafc28d
commit ffd4a0508f
3 changed files with 4 additions and 1 deletions

2
i.c
View file

@ -3779,6 +3779,7 @@ define_instruction(scall44) {
sdrop(4); callsubi();
}
/* <? combo gets in a way of decoding ;>? from (if (< 1 2 3) 4 5)
define_instruction(brnotlt) {
obj x = ac, y = spop();
if (likely(are_fixnums(x, y))) {
@ -3798,6 +3799,7 @@ define_instruction(brnotlt) {
gonexti();
}
}
*/
define_instruction(pushsub) {
obj x = ac, y = spop();

2
i.h
View file

@ -197,7 +197,7 @@ declare_instruction(atest1, "%1", 0, NULL,
declare_instruction(atest2, "%2", 0, NULL, 0, NULL)
declare_instruction(atest3, "%3", 0, NULL, 0, NULL)
declare_instruction(atest4, "%4", 0, NULL, 0, NULL)
declare_instruction(brnotlt, "<?", 'b', NULL, 0, NULL)
/* declare_instruction(brnotlt, "<?", 'b', NULL, 0, NULL) */
declare_instruction(pushsub, "-,", 0, NULL, 0, NULL)
/* type checks: integrables but no globals */

View file

@ -270,6 +270,7 @@
(define-syntax val-core? pair?)
(define-syntax location? box?)
(define-syntax make-location box)
(define-syntax location-val unbox)
(define-syntax location-set-val! set-box!)