diff options
Diffstat (limited to 'module/system')
-rw-r--r-- | module/system/base/lalr.scm | 3 | ||||
-rw-r--r-- | module/system/base/types.scm | 4 | ||||
-rw-r--r-- | module/system/base/types/internal.scm | 6 | ||||
-rw-r--r-- | module/system/foreign.scm | 8 | ||||
-rw-r--r-- | module/system/vm/assembler.scm | 2 |
5 files changed, 9 insertions, 14 deletions
diff --git a/module/system/base/lalr.scm b/module/system/base/lalr.scm index 49e7e8d46..55e5e6c87 100644 --- a/module/system/base/lalr.scm +++ b/module/system/base/lalr.scm @@ -1,6 +1,6 @@ ;;; -*- mode: scheme; coding: utf-8; -*- ;;; -;;; Copyright (C) 2010 Free Software Foundation, Inc. +;;; Copyright (C) 2010, 2025 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 @@ -21,6 +21,7 @@ ;; compiler) complains about `lexical-token' being unbound when expanding ;; `(define-record-type lexical-token ...)' if we omit it. #:use-module (srfi srfi-9) + #:use-module (ice-9 source-properties) #:export (lalr-parser print-states diff --git a/module/system/base/types.scm b/module/system/base/types.scm index fd35a09f2..5ecdea4cd 100644 --- a/module/system/base/types.scm +++ b/module/system/base/types.scm @@ -461,10 +461,6 @@ using BACKEND." (cell->object source backend))) (((_ & #x7f = %tc7-vm-continuation)) (inferior-object 'vm-continuation address)) - (((_ & #x7f = %tc7-weak-set)) - (inferior-object 'weak-set address)) - (((_ & #x7f = %tc7-weak-table)) - (inferior-object 'weak-table address)) (((_ & #x7f = %tc7-array)) (inferior-object 'array address)) (((_ & #x7f = %tc7-bitvector)) diff --git a/module/system/base/types/internal.scm b/module/system/base/types/internal.scm index b739f9a9a..8d7f29088 100644 --- a/module/system/base/types/internal.scm +++ b/module/system/base/types/internal.scm @@ -51,8 +51,6 @@ %tc7-vm-continuation %tc7-bytevector %tc7-thread - %tc7-weak-set - %tc7-weak-table %tc7-array %tc7-bitvector %tc7-port @@ -148,8 +146,8 @@ (vm-continuation vm-continuation? #b1111111 #b1000111) (bytevector bytevector? #b1111111 #b1001101) (thread thread? #b1111111 #b1001111) - (weak-set weak-set? #b1111111 #b1010101) - (weak-table weak-table? #b1111111 #b1010111) + ;;(unused unused #b1111111 #b1010101) + ;;(unused unused #b1111111 #b1010111) (array array? #b1111111 #b1011101) (bitvector bitvector? #b1111111 #b1011111) (finalizer finalizer? #b1111111 #b1100101) diff --git a/module/system/foreign.scm b/module/system/foreign.scm index fe068a471..4fb9f6628 100644 --- a/module/system/foreign.scm +++ b/module/system/foreign.scm @@ -290,10 +290,12 @@ which does the reverse. PRINT must name a user-defined object printer." (define wrap ;; Use a weak hash table to preserve pointer identity, i.e., ;; PTR1 == PTR2 <-> (eq? (wrap PTR1) (wrap PTR2)). - (let ((ptr->obj (make-weak-value-hash-table 3000))) + (let ((ptr->obj (make-weak-value-hash-table + #:hash hash #:equal? equal? + #:initial-size 3000))) (lambda (ptr) - (or (hash-ref ptr->obj ptr) + (or (weak-value-hash-table-ref ptr->obj ptr) (let ((o (%wrap ptr))) - (hash-set! ptr->obj ptr o) + (weak-value-hash-table-set! ptr->obj ptr o) o))))) (set-record-type-printer! type-name print))))))) diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm index 7fc15b9f2..d92399b26 100644 --- a/module/system/vm/assembler.scm +++ b/module/system/vm/assembler.scm @@ -132,8 +132,6 @@ emit-vm-continuation? emit-bytevector? emit-thread? - emit-weak-set? - emit-weak-table? emit-array? emit-bitvector? emit-ephemeron? |