1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-28 16:00:22 +02:00

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.
This commit is contained in:
Andy Wingo 2012-07-05 23:26:38 +02:00
parent b8a5606b10
commit 13e3d3d95d

View file

@ -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)