From 13e3d3d95dcb6c9cb4b3d69129d6b5fd9ad2e65a Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 5 Jul 2012 23:26:38 +0200 Subject: [PATCH] fix `vector' instruction emission for big vectors * module/language/glil/compile-assembly.scm (dump-constants): Only use the `vector' instruction for vectors whose length can fit in 16 bits. Fixes http://bugs.gnu.org/11087. --- module/language/glil/compile-assembly.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/module/language/glil/compile-assembly.scm b/module/language/glil/compile-assembly.scm index a51fd580a..83a5007d8 100644 --- a/module/language/glil/compile-assembly.scm +++ b/module/language/glil/compile-assembly.scm @@ -841,6 +841,7 @@ (values `(,@car-code ,@cdr-code (cons)) (1+ addr))))) ((and (vector? x) + (<= (vector-length x) #xffff) (equal? (array-shape x) (list (list 0 (1- (vector-length x)))))) (receive (codes addr) (vector-fold2 (lambda (x codes addr)