From c557c02fc88f18644b1ab0aa85756af09585ed47 Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Tue, 30 Aug 2022 02:37:21 -0700 Subject: Do not generate `SPADLET` opcode (#23) This patch makes the Spad compiler no longer generate `SPADLET`. --- src/interp/vmlisp.lisp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/interp/vmlisp.lisp') diff --git a/src/interp/vmlisp.lisp b/src/interp/vmlisp.lisp index 6a087932..fcf415f6 100644 --- a/src/interp/vmlisp.lisp +++ b/src/interp/vmlisp.lisp @@ -1503,11 +1503,11 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size (RETURN (SEQ (COND ((> 1 N) NIL) - ('T (SPADLET |l| (SPADDIFFERENCE (|#| |str|) 1)) + ('T (SETQ |l| (SPADDIFFERENCE (|#| |str|) 1)) (COND ((EQL |l| 0) NIL) - ('T (SPADLET |n| 0) (SPADLET |word| '||) - (SPADLET |inWord| NIL) + ('T (SETQ |n| 0) (SETQ |word| '||) + (SETQ |inWord| NIL) (DO ((|i| 0 (1+ |i|))) ((> |i| |l|) NIL) (declare (fixnum |i|)) (SEQ (EXIT (COND @@ -1515,12 +1515,12 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size (COND ((NULL |inWord|) NIL) ((eql |n| N) (RETURN |word|)) - ('T (SPADLET |inWord| NIL)))) + ('T (SETQ |inWord| NIL)))) ('T (COND ((NULL |inWord|) - (SPADLET |inWord| 'T) - (SPADLET |n| (PLUS |n| 1)))) + (SETQ |inWord| 'T) + (SETQ |n| (PLUS |n| 1)))) (COND ((eql |n| N) (cond ((eq |word| '||) -- cgit v1.2.3