[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 16/25: Re-add compiler backend support for immutable vec
From: |
Andy Wingo |
Subject: |
[Guile-commits] 16/25: Re-add compiler backend support for immutable vectors |
Date: |
Mon, 8 Jan 2018 09:25:04 -0500 (EST) |
wingo pushed a commit to branch master
in repository guile.
commit 8ed5d9f2372a1f7c874703c8589b708b1e6c3d80
Author: Andy Wingo <address@hidden>
Date: Sun Jan 7 17:37:16 2018 +0100
Re-add compiler backend support for immutable vectors
* module/language/cps/compile-bytecode.scm (compile-function): Add cases
for mutable-vector? and immutable-vector?.
* module/system/vm/assembler.scm: Export emit-mutable-vector? and
emit-immutable-vector?.
---
module/language/cps/compile-bytecode.scm | 2 ++
module/system/vm/assembler.scm | 2 ++
2 files changed, 4 insertions(+)
diff --git a/module/language/cps/compile-bytecode.scm
b/module/language/cps/compile-bytecode.scm
index ec93eaa..5978492 100644
--- a/module/language/cps/compile-bytecode.scm
+++ b/module/language/cps/compile-bytecode.scm
@@ -479,6 +479,8 @@
(#('symbol? #f (a)) (unary emit-symbol? a))
(#('variable? #f (a)) (unary emit-variable? a))
(#('vector? #f (a)) (unary emit-vector? a))
+ (#('mutable-vector? #f (a)) (unary emit-mutable-vector? a))
+ (#('immutable-vector? #f (a)) (unary emit-immutable-vector? a))
(#('string? #f (a)) (unary emit-string? a))
(#('heap-number? #f (a)) (unary emit-heap-number? a))
(#('hash-table? #f (a)) (unary emit-hash-table? a))
diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm
index 83d5b11..46c0ed3 100644
--- a/module/system/vm/assembler.scm
+++ b/module/system/vm/assembler.scm
@@ -113,6 +113,8 @@
emit-symbol?
emit-variable?
emit-vector?
+ emit-mutable-vector?
+ emit-immutable-vector?
emit-weak-vector?
emit-string?
emit-heap-number?
- [Guile-commits] 11/25: Remove "ash" instruction., (continued)
- [Guile-commits] 11/25: Remove "ash" instruction., Andy Wingo, 2018/01/08
- [Guile-commits] 09/25: Mark word-ref and word-ref/immediate as producing U64 values, Andy Wingo, 2018/01/08
- [Guile-commits] 12/25: Remove now-unused make-vector et al instructions, Andy Wingo, 2018/01/08
- [Guile-commits] 18/25: Minor compile-cps refactor for cons, Andy Wingo, 2018/01/08
- [Guile-commits] 15/25: CPS type analysis support for mutable vs immutable vectors, Andy Wingo, 2018/01/08
- [Guile-commits] 21/25: Remove pair-related instructions, Andy Wingo, 2018/01/08
- [Guile-commits] 10/25: CPS pass now expects exploded vector primitives, Andy Wingo, 2018/01/08
- [Guile-commits] 13/25: Add CPS compilation support for mutable-vector?, Andy Wingo, 2018/01/08
- [Guile-commits] 24/25: Sync IP before allocating closures, Andy Wingo, 2018/01/08
- [Guile-commits] 19/25: Expand pair-related primcalls, Andy Wingo, 2018/01/08
- [Guile-commits] 16/25: Re-add compiler backend support for immutable vectors,
Andy Wingo <=
- [Guile-commits] 25/25: Save VM compare result before calling out to hooks, Andy Wingo, 2018/01/08
- [Guile-commits] 01/25: Fix verify.scm for call-thunk/no-inline, Andy Wingo, 2018/01/08
- [Guile-commits] 22/25: Better compilation of vector constructors and initializers, Andy Wingo, 2018/01/08
- [Guile-commits] 08/25: Instruction explosion for /immediate variants of vector prims, Andy Wingo, 2018/01/08
- [Guile-commits] 06/25: Fix primitive reification for scm-set! / word-set!., Andy Wingo, 2018/01/08
- [Guile-commits] 17/25: Compiler frontend support for vector mutability checks, Andy Wingo, 2018/01/08
- [Guile-commits] 23/25: Improve make-vector compilation for known big sizes, Andy Wingo, 2018/01/08
- [Guile-commits] 04/25: Make integer devirtualization less eager, Andy Wingo, 2018/01/08
- [Guile-commits] 02/25: Fix specialization of the allocate-words family of instructions, Andy Wingo, 2018/01/08
- [Guile-commits] 14/25: Fix bug in struct-ref effects analysis, Andy Wingo, 2018/01/08