[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, syncase-in-boot-9, updated. 55ae815b62
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, syncase-in-boot-9, updated. 55ae815b62c5d4bf324351d64919bdb8d4070148 |
Date: |
Fri, 22 May 2009 14:10:55 +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=55ae815b62c5d4bf324351d64919bdb8d4070148
The branch, syncase-in-boot-9 has been updated
via 55ae815b62c5d4bf324351d64919bdb8d4070148 (commit)
from e0c90f9084914956d90db73b21ef2ab32d1a477a (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 55ae815b62c5d4bf324351d64919bdb8d4070148
Author: Andy Wingo <address@hidden>
Date: Fri May 22 16:07:41 2009 +0200
move things to (language tree-il primitives)
* module/language/tree-il/optimize.scm:
* module/language/tree-il/primitives.scm: Move primitive-related things
to primitive.scm from inline.scm and optimize.scm.
* module/Makefile.am: Update for inventory changes.
-----------------------------------------------------------------------
Summary of changes:
module/Makefile.am | 2 +-
module/language/tree-il/optimize.scm | 54 +------------------
.../tree-il/{inline.scm => primitives.scm} | 57 +++++++++++++++++++-
3 files changed, 58 insertions(+), 55 deletions(-)
rename module/language/tree-il/{inline.scm => primitives.scm} (76%)
diff --git a/module/Makefile.am b/module/Makefile.am
index 22a9562..35959e2 100644
--- a/module/Makefile.am
+++ b/module/Makefile.am
@@ -72,7 +72,7 @@ SCHEME_LANG_SOURCES =
\
language/scheme/inline.scm
TREE_IL_LANG_SOURCES = \
- language/tree-il/inline.scm \
+ language/tree-il/primitives.scm \
language/tree-il/optimize.scm \
language/tree-il/analyze.scm \
language/tree-il/compile-glil.scm \
diff --git a/module/language/tree-il/optimize.scm
b/module/language/tree-il/optimize.scm
index 9ba384f..3a02e02 100644
--- a/module/language/tree-il/optimize.scm
+++ b/module/language/tree-il/optimize.scm
@@ -20,10 +20,9 @@
;;; Code:
(define-module (language tree-il optimize)
- #:use-module (system base syntax)
#:use-module (language tree-il)
- #:use-module (language tree-il inline)
- #:export (optimize! add-interesting-primitive!))
+ #:use-module (language tree-il primitives)
+ #:export (optimize!))
(define (env-module e)
(if e (car e) (current-module)))
@@ -41,52 +40,3 @@
;; * degenerate case optimizations
;; * "fixing letrec"
-(define *interesting-primitive-names*
- '(apply @apply
- call-with-values @call-with-values
- call-with-current-continuation @call-with-current-continuation
- call/cc
- values
- eq? eqv? equal?
- = < > <= >= zero?
- + * - / 1- 1+ quotient remainder modulo
- not
- pair? null? list? acons cons cons*
-
- list vector
-
- car cdr
- set-car! set-cdr!
-
- caar cadr cdar cddr
-
- caaar caadr cadar caddr cdaar cdadr cddar cdddr
-
- caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr
- cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr))
-
-(define (add-interesting-primitive! name)
- (hashq-set! *interesting-primitive-vars*
- (module-variable (current-module) name) name))
-
-(define *interesting-primitive-vars* (make-hash-table))
-
-(for-each add-interesting-primitive! *interesting-primitive-names*)
-
-(define (resolve-primitives! x mod)
- (post-order!
- (lambda (x)
- (record-case x
- ((<toplevel-ref> src name)
- (and (hashq-ref *interesting-primitive-vars*
- (module-variable mod name))
- (make-primitive-ref src name)))
- ((<module-ref> src mod name public?)
- ;; for the moment, we're disabling primitive resolution for
- ;; public refs because resolve-interface can raise errors.
- (let ((m (and (not public?) (resolve-module mod))))
- (and m (hashq-ref *interesting-primitive-vars*
- (module-variable m name))
- (make-primitive-ref src name))))
- (else #f)))
- x))
diff --git a/module/language/tree-il/inline.scm
b/module/language/tree-il/primitives.scm
similarity index 76%
rename from module/language/tree-il/inline.scm
rename to module/language/tree-il/primitives.scm
index 5a8e2db..25fd8c7 100644
--- a/module/language/tree-il/inline.scm
+++ b/module/language/tree-il/primitives.scm
@@ -19,11 +19,64 @@
;;; Code:
-(define-module (language tree-il inline)
+(define-module (language tree-il primitives)
#:use-module (system base syntax)
#:use-module (language tree-il)
#:use-module (srfi srfi-16)
- #:export (expand-primitives!))
+ #:export (resolve-primitives! add-interesting-primitive!
+ expand-primitives!))
+
+(define *interesting-primitive-names*
+ '(apply @apply
+ call-with-values @call-with-values
+ call-with-current-continuation @call-with-current-continuation
+ call/cc
+ values
+ eq? eqv? equal?
+ = < > <= >= zero?
+ + * - / 1- 1+ quotient remainder modulo
+ not
+ pair? null? list? acons cons cons*
+
+ list vector
+
+ car cdr
+ set-car! set-cdr!
+
+ caar cadr cdar cddr
+
+ caaar caadr cadar caddr cdaar cdadr cddar cdddr
+
+ caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr
+ cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr))
+
+(define (add-interesting-primitive! name)
+ (hashq-set! *interesting-primitive-vars*
+ (module-variable (current-module) name) name))
+
+(define *interesting-primitive-vars* (make-hash-table))
+
+(for-each add-interesting-primitive! *interesting-primitive-names*)
+
+(define (resolve-primitives! x mod)
+ (post-order!
+ (lambda (x)
+ (record-case x
+ ((<toplevel-ref> src name)
+ (and (hashq-ref *interesting-primitive-vars*
+ (module-variable mod name))
+ (make-primitive-ref src name)))
+ ((<module-ref> src mod name public?)
+ ;; for the moment, we're disabling primitive resolution for
+ ;; public refs because resolve-interface can raise errors.
+ (let ((m (and (not public?) (resolve-module mod))))
+ (and m (hashq-ref *interesting-primitive-vars*
+ (module-variable m name))
+ (make-primitive-ref src name))))
+ (else #f)))
+ x))
+
+
(define *primitive-expand-table* (make-hash-table))
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, syncase-in-boot-9, updated. 55ae815b62c5d4bf324351d64919bdb8d4070148,
Andy Wingo <=