From a5c96cb99dc060a254887e2182f01911a4a19d77 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Wed, 3 Mar 2010 20:55:42 +0100 Subject: [PATCH] can truncate values anonymously * module/language/glil/compile-assembly.scm (glil->assembly): Allow an integer for `vars', which means simply to truncate the values, and not pass binding metadata to the compiler. --- module/language/glil/compile-assembly.scm | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/module/language/glil/compile-assembly.scm b/module/language/glil/compile-assembly.scm index 47002a8fc..bfc0a364d 100644 --- a/module/language/glil/compile-assembly.scm +++ b/module/language/glil/compile-assembly.scm @@ -333,13 +333,20 @@ arities)) (( vars rest) - (values `((truncate-values ,(length vars) ,(if rest 1 0))) - (open-binding bindings vars addr) - source-alist - label-alist - object-alist - arities)) - + (if (integer? vars) + (values `((truncate-values ,vars ,(if rest 1 0))) + bindings + source-alist + label-alist + object-alist + arities) + (values `((truncate-values ,(length vars) ,(if rest 1 0))) + (open-binding bindings vars addr) + source-alist + label-alist + object-alist + arities))) + (() (values '() (close-binding bindings addr)