mirror of
https://github.com/false-schemers/skint.git
synced 2024-11-16 07:47:54 +01:00
<? opcode removed, location? added
<? opcode causes a bug in <;<? situation: combo instruction is skipped as one
This commit is contained in:
parent
9a4cafc28d
commit
ffd4a0508f
3 changed files with 4 additions and 1 deletions
2
i.c
2
i.c
|
@ -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
2
i.h
|
@ -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 */
|
||||
|
|
|
@ -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!)
|
||||
|
|
Loading…
Reference in a new issue