summaryrefslogtreecommitdiff
path: root/module/system
diff options
context:
space:
mode:
Diffstat (limited to 'module/system')
-rw-r--r--module/system/base/lalr.scm3
-rw-r--r--module/system/base/types.scm4
-rw-r--r--module/system/base/types/internal.scm6
-rw-r--r--module/system/foreign.scm8
-rw-r--r--module/system/vm/assembler.scm2
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?