diff options
author | Andy Wingo <wingo@pobox.com> | 2010-01-31 10:44:44 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-01-31 20:40:24 +0100 |
commit | 2d9260d12c5b2ecfa29f86c94eeec9ae21cd908e (patch) | |
tree | 6d32e4390163960358e898cceb0d9c2122bafbc2 /libguile/vm-i-system.c | |
parent | 88fed05d033263aafd119133aee47cd8028128ae (diff) | |
download | guile-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.c | 9 |
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; |