guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-5-133-g89


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-5-133-g8986ff7
Date: Thu, 10 Dec 2009 19:28:00 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=8986ff7ae9dcaae79d3ab262c360a6cbbc86c263

The branch, master has been updated
       via  8986ff7ae9dcaae79d3ab262c360a6cbbc86c263 (commit)
       via  ed1bf2c85c9db33512cea48e0aac14854c70fab7 (commit)
      from  08d7492cf0eab3165ca260b8aa060de8ae508e1c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 8986ff7ae9dcaae79d3ab262c360a6cbbc86c263
Author: Andy Wingo <address@hidden>
Date:   Thu Dec 10 20:26:54 2009 +0100

    fix emission of meta procedures
    
    * module/language/glil/compile-assembly.scm: Fix the check for when to
      emit a "meta" procedure. Fixes
      http://thread.gmane.org/gmane.lisp.guile.user/7469/focus=7470.

commit ed1bf2c85c9db33512cea48e0aac14854c70fab7
Author: Andy Wingo <address@hidden>
Date:   Thu Dec 10 20:26:13 2009 +0100

    if we have no eval.go, load no .go
    
    * libguile/load.c (scm_init_eval_in_scheme): If we have no eval.go, null
      out the load-compiled path so that we load no compiled code. Prevents
      partially compiled Guile from turning tail-calls into stack-munching
      calls.

-----------------------------------------------------------------------

Summary of changes:
 libguile/load.c                           |    3 +++
 module/language/glil/compile-assembly.scm |    4 +++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/libguile/load.c b/libguile/load.c
index c150030..83fb353 100644
--- a/libguile/load.c
+++ b/libguile/load.c
@@ -851,6 +851,9 @@ scm_init_eval_in_scheme (void)
   if (scm_is_true (eval_scm) && scm_is_true (eval_go)
       && compiled_is_fresh (eval_scm, eval_go))
     scm_load_compiled_with_vm (eval_go);
+  else
+    /* if we have no eval.go, we shouldn't load any compiled code at all */
+    *scm_loc_load_compiled_path = SCM_EOL;
 }
 
 
diff --git a/module/language/glil/compile-assembly.scm 
b/module/language/glil/compile-assembly.scm
index 490d1a4..32c5a9d 100644
--- a/module/language/glil/compile-assembly.scm
+++ b/module/language/glil/compile-assembly.scm
@@ -69,7 +69,9 @@
             (lp (cdr in) out filename)))))))
 
 (define (make-meta bindings sources arities tail)
-  (if (and (null? bindings) (null? sources) (null? tail))
+  ;; sounds silly, but the only case in which we have no arities is when
+  ;; compiling a meta procedure.
+  (if (and (null? bindings) (null? sources) (null? arities) (null? tail))
       #f
       (compile-assembly
        (make-glil-program '()


hooks/post-receive
-- 
GNU Guile




reply via email to

[Prev in Thread] Current Thread [Next in Thread]