diff --git a/module/language/glil/compile-assembly.scm b/module/language/glil/compile-assembly.scm index 767fda347..463348504 100644 --- a/module/language/glil/compile-assembly.scm +++ b/module/language/glil/compile-assembly.scm @@ -597,33 +597,32 @@ (else (error "what" op))) (let ((a (quotient index 256)) (b (modulo index 256))) - `((,(case op - ((ref) - (if boxed? - `((long-local-ref ,a ,b) - (variable-ref)) - `((long-local-ref ,a ,b)))) - ((set) - (if boxed? - `((long-local-ref ,a ,b) - (variable-set)) - `((long-local-set ,a ,b)))) - ((box) - `((make-variable) - (variable-set) - (long-local-set ,a ,b))) - ((empty-box) - `((make-variable) - (long-local-set ,a ,b))) - ((fix) - `((fix-closure ,a ,b))) - ((bound?) - (if boxed? - `((long-local-ref ,a ,b) - (variable-bound?)) - `((long-local-bound? ,a ,b)))) - (else (error "what" op))) - ,index)))) + (case op + ((ref) + (if boxed? + `((long-local-ref ,a ,b) + (variable-ref)) + `((long-local-ref ,a ,b)))) + ((set) + (if boxed? + `((long-local-ref ,a ,b) + (variable-set)) + `((long-local-set ,a ,b)))) + ((box) + `((make-variable) + (variable-set) + (long-local-set ,a ,b))) + ((empty-box) + `((make-variable) + (long-local-set ,a ,b))) + ((fix) + `((fix-closure ,a ,b))) + ((bound?) + (if boxed? + `((long-local-ref ,a ,b) + (variable-bound?)) + `((long-local-bound? ,a ,b)))) + (else (error "what" op))))) `((,(case op ((ref) (if boxed? 'free-boxed-ref 'free-ref)) ((set) (if boxed? 'free-boxed-set (error "what." glil)))