[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
- [Guile-commits] branch master updated (da7144d -> 108ade6), Andy Wingo, 2017/12/27
- [Guile-commits] 01/16: Fix stack effect/clobber parsing for calls, Andy Wingo, 2017/12/27
- [Guile-commits] 04/16: Reify-primitives removes "/unlikely" ephemeral instructions, Andy Wingo, 2017/12/27
- [Guile-commits] 07/16: Refactor list->seq to make return arity apparent, Andy Wingo, 2017/12/27
- [Guile-commits] 05/16: Remove compile-bytecode cases for ephemeral primitives,
Andy Wingo <=
- [Guile-commits] 12/16: CPS conversion avoids residualizing unknown primcalls, Andy Wingo, 2017/12/27
- [Guile-commits] 06/16: Refactor reify-primitives pass, Andy Wingo, 2017/12/27
- [Guile-commits] 08/16: Flesh out compile-bytecode for all heap objects, Andy Wingo, 2017/12/27
- [Guile-commits] 15/16: Unknown primcalls convert as calls, Andy Wingo, 2017/12/27
- [Guile-commits] 13/16: Contification also inlines "elide-values" pass, Andy Wingo, 2017/12/27
- [Guile-commits] 10/16: CPS conversion expands "list", Andy Wingo, 2017/12/27
- [Guile-commits] 11/16: Inline "elide-values" optimization into CPS conversion, Andy Wingo, 2017/12/27
- [Guile-commits] 09/16: Refactor lowering of Tree-IL primcalls to CPS, Andy Wingo, 2017/12/27
- [Guile-commits] 16/16: Re-add support for logbit?, Andy Wingo, 2017/12/27
- [Guile-commits] 03/16: Refactor boxing/unboxing primcall args/results, Andy Wingo, 2017/12/27