summaryrefslogtreecommitdiff
path: root/libguile/vm-i-system.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-01-31 10:44:44 +0100
committerAndy Wingo <wingo@pobox.com>2010-01-31 20:40:24 +0100
commit2d9260d12c5b2ecfa29f86c94eeec9ae21cd908e (patch)
tree6d32e4390163960358e898cceb0d9c2122bafbc2 /libguile/vm-i-system.c
parent88fed05d033263aafd119133aee47cd8028128ae (diff)
downloadguile-2d9260d12c5b2ecfa29f86c94eeec9ae21cd908e.tar.gz
add return/nvalues
* libguile/vm-i-system.c (return/nvalues): New instruction, like call/nargs.
Diffstat (limited to 'libguile/vm-i-system.c')
-rw-r--r--libguile/vm-i-system.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
index 258aa529e..0d54fa51a 100644
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -1264,6 +1264,15 @@ VM_DEFINE_INSTRUCTION (68, return_values_star, "return/values*", 1, -1, -1)
goto vm_return_values;
}
+VM_DEFINE_INSTRUCTION (88, return_nvalues, "return/nvalues", 0, 1, -1)
+{
+ SCM n;
+ POP (n);
+ nvalues = scm_to_int (n);
+ ASSERT (nvalues >= 0);
+ goto vm_return_values;
+}
+
VM_DEFINE_INSTRUCTION (69, truncate_values, "truncate-values", 2, -1, -1)
{
SCM x;