guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 05/16: Remove compile-bytecode cases for ephemeral primi


From: Andy Wingo
Subject: [Guile-commits] 05/16: Remove compile-bytecode cases for ephemeral primitives
Date: Wed, 27 Dec 2017 10:02:47 -0500 (EST)

wingo pushed a commit to branch master
in repository guile.

commit b91878441249a029788583cb320fad64356001fb
Author: Andy Wingo <address@hidden>
Date:   Tue Dec 26 10:14:55 2017 +0100

    Remove compile-bytecode cases for ephemeral primitives
    
    * module/language/cps/compile-bytecode.scm (compile-function): Remove
      cases for tag-fixnum/unlikely, etc.
---
 module/language/cps/compile-bytecode.scm | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/module/language/cps/compile-bytecode.scm 
b/module/language/cps/compile-bytecode.scm
index af5b3f3..aa33b68 100644
--- a/module/language/cps/compile-bytecode.scm
+++ b/module/language/cps/compile-bytecode.scm
@@ -138,8 +138,6 @@
          (maybe-mov dst (slot arg)))
         (($ $const exp)
          (emit-load-constant asm (from-sp dst) exp))
-        (($ $primcall 'load-const/unlikely exp ())
-         (emit-load-constant asm (from-sp dst) exp))
         (($ $closure k 0)
          (emit-load-static-procedure asm (from-sp dst) k))
         (($ $closure k nfree)
@@ -247,13 +245,13 @@
          (emit-scm->u64/truncate asm (from-sp dst) (from-sp (slot src))))
         (($ $primcall 'load-u64 val ())
          (emit-load-u64 asm (from-sp dst) val))
-        (($ $primcall (or 'u64->scm 'u64->scm/unlikely) #f (src))
+        (($ $primcall 'u64->scm #f (src))
          (emit-u64->scm asm (from-sp dst) (from-sp (slot src))))
         (($ $primcall 'scm->s64 #f (src))
          (emit-scm->s64 asm (from-sp dst) (from-sp (slot src))))
         (($ $primcall 'load-s64 val ())
          (emit-load-s64 asm (from-sp dst) val))
-        (($ $primcall (or 's64->scm 's64->scm/unlikely) #f (src))
+        (($ $primcall 's64->scm #f (src))
          (emit-s64->scm asm (from-sp dst) (from-sp (slot src))))
         (($ $primcall 'bv-length #f (bv))
          (emit-bv-length asm (from-sp dst) (from-sp (slot bv))))
@@ -300,13 +298,12 @@
           (from-sp (slot expected)) (from-sp (slot desired))))
         (($ $primcall 'untag-fixnum #f (src))
          (emit-untag-fixnum asm (from-sp dst) (from-sp (slot src))))
-        (($ $primcall (or 'tag-fixnum 'tag-fixnum/unlikely) #f (src))
+        (($ $primcall 'tag-fixnum #f (src))
          (emit-tag-fixnum asm (from-sp dst) (from-sp (slot src))))
         (($ $primcall name #f args)
          ;; FIXME: Inline all the cases.
-         (let ((inst (prim-instruction name)))
-           (emit-text asm `((,inst ,(from-sp dst)
-                                   ,@(map (compose from-sp slot) args))))))))
+         (emit-text asm `((,name ,(from-sp dst)
+                                 ,@(map (compose from-sp slot) args)))))))
 
     (define (compile-effect label exp k)
       (match exp



reply via email to

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