mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-30 00:40:20 +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:
parent
b8a5606b10
commit
13e3d3d95d
1 changed files with 1 additions and 0 deletions
|
@ -841,6 +841,7 @@
|
||||||
(values `(,@car-code ,@cdr-code (cons))
|
(values `(,@car-code ,@cdr-code (cons))
|
||||||
(1+ addr)))))
|
(1+ addr)))))
|
||||||
((and (vector? x)
|
((and (vector? x)
|
||||||
|
(<= (vector-length x) #xffff)
|
||||||
(equal? (array-shape x) (list (list 0 (1- (vector-length x))))))
|
(equal? (array-shape x) (list (list 0 (1- (vector-length x))))))
|
||||||
(receive (codes addr)
|
(receive (codes addr)
|
||||||
(vector-fold2 (lambda (x codes addr)
|
(vector-fold2 (lambda (x codes addr)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue