From 73788ca8bedcb4dd9578a1a992223e51a7d99a0d Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Mon, 11 Jan 2010 21:47:10 +0100 Subject: 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. --- libguile/arrays.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libguile/arrays.h') 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, -- cgit v1.2.3