summaryrefslogtreecommitdiff
path: root/libguile/vm-i-scheme.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2012-05-17 11:39:35 +0200
committerAndy Wingo <wingo@pobox.com>2013-05-23 14:27:17 +0200
commit52182d5280cefe18e605b6c40f690badb174ec27 (patch)
tree895f4eb134062fcd6d9fe099d3fda0b347557b0e /libguile/vm-i-scheme.c
parenteac12024830736409112634d3b16ddaaa2bff05b (diff)
downloadguile-52182d5280cefe18e605b6c40f690badb174ec27.tar.gz
remove CONS macro in VM; use scm_cons instead
* libguile/vm-engine.c (CONS): Remove. Callers should use scm_cons instead, syncing registers beforehand. (POP_LIST): Adapt, only synchronizing once. (POP_LIST_MARK, POP_CONS_MARK): Remove unused macros. * libguile/vm-i-scheme.c (cons): * libguile/vm-i-system.c (push-rest, bind-rest): Adapt.
Diffstat (limited to 'libguile/vm-i-scheme.c')
-rw-r--r--libguile/vm-i-scheme.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c
index dce90e326..c12c42ba1 100644
--- a/libguile/vm-i-scheme.c
+++ b/libguile/vm-i-scheme.c
@@ -131,7 +131,8 @@ VM_DEFINE_FUNCTION (141, vectorp, "vector?", 1)
VM_DEFINE_FUNCTION (142, cons, "cons", 2)
{
ARGS2 (x, y);
- CONS (x, x, y);
+ SYNC_BEFORE_GC ();
+ x = scm_cons (x, y);
RETURN (x);
}