diff options
author | Andy Wingo <wingo@pobox.com> | 2010-01-11 21:47:10 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-01-11 21:47:10 +0100 |
commit | 73788ca8bedcb4dd9578a1a992223e51a7d99a0d (patch) | |
tree | b83a8c238562869ac0f1e203362812a3406e800d /libguile/arrays.h | |
parent | 5a9c6dcbb3bdda159cc45edb9d8b34e7b5043b9e (diff) | |
download | guile-73788ca8bedcb4dd9578a1a992223e51a7d99a0d.tar.gz |
allow compilation of #@2(1 2 3)
* libguile/arrays.h:
* libguile/arrays.c (scm_from_contiguous_array): New public function,
like scm_from_contiguous_typed_array but for arrays of generic Scheme
values.
* libguile/vm-i-scheme.c (make-struct): Sync regs before making the
struct, so if we get a GC the regs are on the heap.
(make-array): New instruction, makes an generic (untyped) Scheme
array.
* module/language/glil/compile-assembly.scm (dump-object): Correctly
compile arrays.
Diffstat (limited to 'libguile/arrays.h')
-rw-r--r-- | libguile/arrays.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libguile/arrays.h b/libguile/arrays.h index 964a1faca..a5ce57727 100644 --- a/libguile/arrays.h +++ b/libguile/arrays.h @@ -3,7 +3,7 @@ #ifndef SCM_ARRAY_H #define SCM_ARRAY_H -/* Copyright (C) 1995,1996,1997,1999,2000,2001, 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996,1997,1999,2000,2001, 2004, 2006, 2008, 2009, 2010 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -36,6 +36,8 @@ /** Arrays */ SCM_API SCM scm_make_array (SCM fill, SCM bounds); +SCM_API SCM scm_from_contiguous_array (SCM bounds, const SCM *elts, + size_t len); SCM_API SCM scm_make_typed_array (SCM type, SCM fill, SCM bounds); SCM_API SCM scm_from_contiguous_typed_array (SCM type, SCM bounds, const void *bytes, |