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. v2.1.0-61-g93e8384


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-61-g93e8384
Date: Tue, 01 Jul 2014 09:32:06 +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=93e838423cba836fd90662f9acd362ddf3aa6fb1

The branch, master has been updated
       via  93e838423cba836fd90662f9acd362ddf3aa6fb1 (commit)
      from  0ad455ca6b8058a08fc88d911c3814b06275fe4e (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 93e838423cba836fd90662f9acd362ddf3aa6fb1
Author: Andy Wingo <address@hidden>
Date:   Tue Jul 1 11:30:29 2014 +0200

    Fix intset on 32-bit machines
    
    * module/language/cps/intset.scm (*leaf-bits*): Define to 4 on 32-bit
      machines, to stay in fixnum range.

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

Summary of changes:
 module/language/cps/intset.scm |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/module/language/cps/intset.scm b/module/language/cps/intset.scm
index 4201cc8..e8e6df2 100644
--- a/module/language/cps/intset.scm
+++ b/module/language/cps/intset.scm
@@ -40,7 +40,26 @@
 (define-syntax-rule (define-inline name val)
   (define-syntax name (identifier-syntax val)))
 
-(define-inline *leaf-bits* 5)
+(eval-when (expand)
+  (use-modules (system base target))
+  (define-syntax compile-time-cond
+    (lambda (x)
+      (syntax-case x (else)
+        ((_ (test body ...) rest ...)
+         (if (primitive-eval (syntax->datum #'test))
+             #'(begin body ...)
+             #'(begin (compile-time-cond rest ...))))
+        ((_ (else body ...))
+         #'(begin body ...))
+        ((_)
+         (error "no compile-time-cond expression matched"))))))
+
+(compile-time-cond
+ ((eqv? (target-word-size) 4)
+  (define-inline *leaf-bits* 4))
+ ((eqv? (target-word-size) 8)
+  (define-inline *leaf-bits* 5)))
+
 (define-inline *leaf-size* (ash 1 *leaf-bits*))
 (define-inline *leaf-mask* (1- *leaf-size*))
 (define-inline *branch-bits* 3)


hooks/post-receive
-- 
GNU Guile



reply via email to

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