add return/nvalues
authorAndy Wingo <wingo@pobox.com>
Sun, 31 Jan 2010 09:44:44 +0000 (10:44 +0100)
committerAndy Wingo <wingo@pobox.com>
Sun, 31 Jan 2010 19:40:24 +0000 (20:40 +0100)
* libguile/vm-i-system.c (return/nvalues): New instruction, like
  call/nargs.

libguile/vm-i-system.c

index 258aa52..0d54fa5 100644 (file)
@@ -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;