[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 13/25: Add CPS compilation support for mutable-vector?
From: |
Andy Wingo |
Subject: |
[Guile-commits] 13/25: Add CPS compilation support for mutable-vector? |
Date: |
Mon, 8 Jan 2018 09:25:03 -0500 (EST) |
wingo pushed a commit to branch master
in repository guile.
commit 3cedc108d8aea7eb87dc355ed7ec3cfb6099841a
Author: Andy Wingo <address@hidden>
Date: Sun Jan 7 16:41:40 2018 +0100
Add CPS compilation support for mutable-vector?
* module/system/base/types/internal.scm (heap-tags): Add
immutable-vector? and mutable-vector?.
* module/language/tree-il/cps-primitives.scm:
* module/system/vm/disassembler.scm: Bump copyright lines.
---
module/language/tree-il/cps-primitives.scm | 2 +-
module/system/base/types/internal.scm | 6 +++++-
module/system/vm/disassembler.scm | 3 ++-
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/module/language/tree-il/cps-primitives.scm
b/module/language/tree-il/cps-primitives.scm
index d3f36c1..d3b261e 100644
--- a/module/language/tree-il/cps-primitives.scm
+++ b/module/language/tree-il/cps-primitives.scm
@@ -1,6 +1,6 @@
;;; Continuation-passing style (CPS) intermediate language (IL)
-;; Copyright (C) 2013, 2014, 2015, 2017 Free Software Foundation, Inc.
+;; Copyright (C) 2013- 2015, 2017-2018 Free Software Foundation, Inc.
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
diff --git a/module/system/base/types/internal.scm
b/module/system/base/types/internal.scm
index 3dc847d..1941d1f 100644
--- a/module/system/base/types/internal.scm
+++ b/module/system/base/types/internal.scm
@@ -1,5 +1,5 @@
;;; Details on internal value representation.
-;;; Copyright (C) 2014, 2015, 2017 Free Software Foundation, Inc.
+;;; Copyright (C) 2014, 2015, 2017, 2018 Free Software Foundation, Inc.
;;;
;;; This library is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU Lesser General Public License as published by
@@ -34,6 +34,8 @@
%tc7-symbol
%tc7-variable
%tc7-vector
+ %tc8-immutable-vector
+ %tc8-mutable-vector
%tc7-weak-vector
%tc7-string
%tc7-heap-number
@@ -118,6 +120,8 @@
(symbol symbol? #b1111111 #b0000101)
(variable variable? #b1111111 #b0000111)
(vector vector? #b1111111 #b0001101)
+ (immutable-vector immutable-vector? #b11111111 #b10001101)
+ (mutable-vector mutable-vector? #b11111111 #b00001101)
(weak-vector weak-vector? #b1111111 #b0001111)
(string string? #b1111111 #b0010101)
(heap-number heap-number? #b1111111 #b0010111)
diff --git a/module/system/vm/disassembler.scm
b/module/system/vm/disassembler.scm
index 62f3d08..8664039 100644
--- a/module/system/vm/disassembler.scm
+++ b/module/system/vm/disassembler.scm
@@ -1,6 +1,6 @@
;;; Guile bytecode disassembler
-;;; Copyright (C) 2001, 2009, 2010, 2012, 2013, 2014, 2015, 2017 Free Software
Foundation, Inc.
+;;; Copyright (C) 2001, 2009-2010, 2012-2015, 2017-2018 Free Software
Foundation, Inc.
;;;
;;; This library is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU Lesser General Public
@@ -199,6 +199,7 @@ address of that offset."
(define-syntax-rule (define-heap-tag-annotation name pred mask tag)
(set! heap-tag-annotations
(cons `((,mask ,tag) ,(symbol->string 'pred)) heap-tag-annotations)))
+
(visit-heap-tags define-heap-tag-annotation)
(define (code-annotation code len offset start labels context push-addr!)
- [Guile-commits] 05/25: Minor optimization in loop peeling, (continued)
- [Guile-commits] 05/25: Minor optimization in loop peeling, Andy Wingo, 2018/01/08
- [Guile-commits] 03/25: Bug-fix to devirtualize-integers pass, Andy Wingo, 2018/01/08
- [Guile-commits] 07/25: Instruction explosion for make-vector, Andy Wingo, 2018/01/08
- [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 <=
- [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, 2018/01/08
- [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