guile-commits
[Top][All Lists]
Advanced

[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



reply via email to

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