diff options
author | Andy Wingo <wingo@pobox.com> | 2018-01-07 16:41:40 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-01-07 16:41:40 +0100 |
commit | 3cedc108d8aea7eb87dc355ed7ec3cfb6099841a (patch) | |
tree | 66fc165ba07074f05a973734e83265a03dbbc776 | |
parent | 94f8f70b22f2aad76d35bfd7f7e506d769fe4096 (diff) | |
download | guile-3cedc108d8aea7eb87dc355ed7ec3cfb6099841a.tar.gz |
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.
-rw-r--r-- | module/language/tree-il/cps-primitives.scm | 2 | ||||
-rw-r--r-- | module/system/base/types/internal.scm | 6 | ||||
-rw-r--r-- | 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 d3f36c1f3..d3b261e2c 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 3dc847db4..1941d1f75 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 62f3d08d6..8664039f0 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!) |