diff options
Diffstat (limited to 'module/language/glil/compile-assembly.scm')
-rw-r--r-- | module/language/glil/compile-assembly.scm | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/module/language/glil/compile-assembly.scm b/module/language/glil/compile-assembly.scm index 0b92a4e7d..4aaa08bb2 100644 --- a/module/language/glil/compile-assembly.scm +++ b/module/language/glil/compile-assembly.scm @@ -387,11 +387,13 @@ (addr+ addr code))))))) ((and (array? x) (symbol? (array-type x))) (let* ((type (dump-object (array-type x) addr)) - (shape (dump-object (array-shape x) (addr+ addr type)))) + (shape (dump-object (array-shape x) (addr+ addr type))) + (contig (or (array-contents x #t) + (error "non-contiguous array" x)))) `(,@type ,@shape ,@(align-code - `(load-array ,(uniform-array->bytevector x)) + `(load-array ,(shared-array-root contig)) (addr+ (addr+ addr type) shape) 8 4)))) |