mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-23 12:00:21 +02:00
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.
This commit is contained in:
parent
94f8f70b22
commit
3cedc108d8
3 changed files with 8 additions and 3 deletions
|
@ -1,6 +1,6 @@
|
||||||
;;; Continuation-passing style (CPS) intermediate language (IL)
|
;;; 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
|
;;;; This library is free software; you can redistribute it and/or
|
||||||
;;;; modify it under the terms of the GNU Lesser General Public
|
;;;; modify it under the terms of the GNU Lesser General Public
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; Details on internal value representation.
|
;;; 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
|
;;; 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
|
;;; under the terms of the GNU Lesser General Public License as published by
|
||||||
|
@ -34,6 +34,8 @@
|
||||||
%tc7-symbol
|
%tc7-symbol
|
||||||
%tc7-variable
|
%tc7-variable
|
||||||
%tc7-vector
|
%tc7-vector
|
||||||
|
%tc8-immutable-vector
|
||||||
|
%tc8-mutable-vector
|
||||||
%tc7-weak-vector
|
%tc7-weak-vector
|
||||||
%tc7-string
|
%tc7-string
|
||||||
%tc7-heap-number
|
%tc7-heap-number
|
||||||
|
@ -118,6 +120,8 @@
|
||||||
(symbol symbol? #b1111111 #b0000101)
|
(symbol symbol? #b1111111 #b0000101)
|
||||||
(variable variable? #b1111111 #b0000111)
|
(variable variable? #b1111111 #b0000111)
|
||||||
(vector vector? #b1111111 #b0001101)
|
(vector vector? #b1111111 #b0001101)
|
||||||
|
(immutable-vector immutable-vector? #b11111111 #b10001101)
|
||||||
|
(mutable-vector mutable-vector? #b11111111 #b00001101)
|
||||||
(weak-vector weak-vector? #b1111111 #b0001111)
|
(weak-vector weak-vector? #b1111111 #b0001111)
|
||||||
(string string? #b1111111 #b0010101)
|
(string string? #b1111111 #b0010101)
|
||||||
(heap-number heap-number? #b1111111 #b0010111)
|
(heap-number heap-number? #b1111111 #b0010111)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; Guile bytecode disassembler
|
;;; 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
|
;;; This library is free software; you can redistribute it and/or
|
||||||
;;; modify it under the terms of the GNU Lesser General Public
|
;;; 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)
|
(define-syntax-rule (define-heap-tag-annotation name pred mask tag)
|
||||||
(set! heap-tag-annotations
|
(set! heap-tag-annotations
|
||||||
(cons `((,mask ,tag) ,(symbol->string 'pred)) heap-tag-annotations)))
|
(cons `((,mask ,tag) ,(symbol->string 'pred)) heap-tag-annotations)))
|
||||||
|
|
||||||
(visit-heap-tags define-heap-tag-annotation)
|
(visit-heap-tags define-heap-tag-annotation)
|
||||||
|
|
||||||
(define (code-annotation code len offset start labels context push-addr!)
|
(define (code-annotation code len offset start labels context push-addr!)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue