[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, wip-cps-bis, updated. v2.1.0-221-g4003
From: |
Mark H Weaver |
Subject: |
[Guile-commits] GNU Guile branch, wip-cps-bis, updated. v2.1.0-221-g4003e66 |
Date: |
Thu, 22 Aug 2013 19:10:51 +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=4003e6668b3cf48980414ba3a9075f1e573b4aee
The branch, wip-cps-bis has been updated
via 4003e6668b3cf48980414ba3a9075f1e573b4aee (commit)
via 5dea94f166a99b84666d01524aa1c62369d385d5 (commit)
from e41379034b93678f2f051685a5f4dfba2ddcf997 (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 4003e6668b3cf48980414ba3a9075f1e573b4aee
Author: Mark H Weaver <address@hidden>
Date: Thu Aug 22 15:02:48 2013 -0400
RTL VM: Fix RTL instruction arity computation.
* module/language/rtl.scm (compute-rtl-instruction-arity): Fix arity
computation of U8_X24, X8_U24, X8_U12_U12, and X8_L24.
commit 5dea94f166a99b84666d01524aa1c62369d385d5
Author: Mark H Weaver <address@hidden>
Date: Thu Aug 22 09:26:32 2013 -0400
Add 'letconst' sugar to CPS serialization format.
* module/language/cps.scm (parse-cps, unparse-cps): Support 'letconst'.
-----------------------------------------------------------------------
Summary of changes:
module/language/cps.scm | 9 +++++++++
module/language/rtl.scm | 8 ++++----
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/module/language/cps.scm b/module/language/cps.scm
index 7d196ee..faf6ad7 100644
--- a/module/language/cps.scm
+++ b/module/language/cps.scm
@@ -232,6 +232,11 @@
(and (pair? props) props)))
(match exp
;; Continuations.
+ (('letconst k (name sym c) body)
+ (build-cps-term
+ ($letk ((k (src exp) ($kargs (name) (sym)
+ ,(parse-cps body))))
+ ($continue k ($const c)))))
(('let k (name sym val) body)
(build-cps-term
($letk ((k (src exp) ($kargs (name) (sym)
@@ -286,6 +291,10 @@
(define (unparse-cps exp)
(match exp
;; Continuations.
+ (($ $letk (($ $cont k src ($ $kargs (name) (sym) body)))
+ ($ $continue k ($ $const c)))
+ `(letconst ,k (,name ,sym ,c)
+ ,(unparse-cps body)))
(($ $letk (($ $cont k src ($ $kargs (name) (sym) body))) val)
`(let ,k (,name ,sym ,(unparse-cps val))
,(unparse-cps body)))
diff --git a/module/language/rtl.scm b/module/language/rtl.scm
index 8438058..d217517 100644
--- a/module/language/rtl.scm
+++ b/module/language/rtl.scm
@@ -28,7 +28,7 @@
(define (compute-rtl-instruction-arity name args)
(define (first-word-arity word)
(case word
- ((U8_X24) 1)
+ ((U8_X24) 0)
((U8_U24) 1)
((U8_L24) 1)
((U8_U8_I16) 2)
@@ -49,9 +49,9 @@
((S32) 1)
((L32) 1)
((LO32) 1)
- ((X8_U24) 2)
- ((X8_U12_U12) 3)
- ((X8_L24) 2)
+ ((X8_U24) 1)
+ ((X8_U12_U12) 2)
+ ((X8_L24) 1)
((B1_X7_L24) 2)
((B1_U7_L24) 3)
((B1_X31) 1)
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, wip-cps-bis, updated. v2.1.0-221-g4003e66,
Mark H Weaver <=