summaryrefslogtreecommitdiff
path: root/libguile/struct.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2013-07-21 16:17:59 +0200
committerAndy Wingo <wingo@pobox.com>2013-07-21 17:12:22 +0200
commit14d102920fea11039cdae7fe05a2dc56f7e1264a (patch)
tree1327f1cef81f0356c352478628199649e62029a1 /libguile/struct.h
parentb21713128e84480c9665b288deff41b883ef4905 (diff)
downloadguile-14d102920fea11039cdae7fe05a2dc56f7e1264a.tar.gz
add allocate-struct primitive and rtl opcode
* libguile/struct.h: * libguile/struct.c (scm_allocate_struct): New interface: allocates a struct. * libguile/vm-engine.c (allocate_struct): Instead of make-struct with a rest arg, separate allocation from initialization.
Diffstat (limited to 'libguile/struct.h')
-rw-r--r--libguile/struct.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/libguile/struct.h b/libguile/struct.h
index 0aecfb979..f1f6c4768 100644
--- a/libguile/struct.h
+++ b/libguile/struct.h
@@ -174,6 +174,7 @@ SCM_API SCM scm_applicable_struct_with_setter_vtable_vtable;
SCM_API SCM scm_make_struct_layout (SCM fields);
SCM_API SCM scm_struct_p (SCM x);
SCM_API SCM scm_struct_vtable_p (SCM x);
+SCM_INTERNAL SCM scm_allocate_struct (SCM vtable, SCM n_words);
SCM_API SCM scm_make_struct (SCM vtable, SCM tail_array_size, SCM init);
SCM_API SCM scm_c_make_struct (SCM vtable, size_t n_tail, size_t n_inits,
scm_t_bits init, ...);