From 7fb814be68c79f4f33d3666e7691b8e92552be74 Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Fri, 7 May 1993 07:19:11 +0000 Subject: [PATCH] Removed setf methods for weak-pointer slots to simplify the gengc stuff. Directly translate make-weak-pointer instead of %make-weak-pointer. Added scavenger-hook stuff. Changed some mutator slots for the gengc system. --- compiler/generic/objdef.lisp | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/compiler/generic/objdef.lisp b/compiler/generic/objdef.lisp index cbd8c24d1..1937a3651 100644 --- a/compiler/generic/objdef.lisp +++ b/compiler/generic/objdef.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/objdef.lisp,v 1.29 1993/03/13 12:06:43 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/objdef.lisp,v 1.30 1993/05/07 07:19:11 wlott Exp $") ;;; ;;; ********************************************************************** ;;; @@ -359,20 +359,24 @@ (define-primitive-object (weak-pointer :type weak-pointer :lowtag other-pointer-type :header weak-pointer-type - :alloc-trans c::%make-weak-pointer) - (value :ref-trans c::%weak-pointer-value - :ref-known (flushable) - :set-trans (setf c::%weak-pointer-value) - :set-known (unsafe) + :alloc-trans make-weak-pointer) + (value :ref-trans c::%weak-pointer-value :ref-known (flushable) :init :arg) (broken :type (member t nil) - :ref-trans c::%weak-pointer-broken - :ref-known (flushable) - :set-trans (setf c::%weak-pointer-broken) - :set-known (unsafe) - :init :arg) + :ref-trans c::%weak-pointer-broken :ref-known (flushable) + :init :null) (next :c-type "struct weak_pointer *")) +(define-primitive-object (scavenger-hook :type scavenger-hook + :lowtag other-pointer-type + :header scavenger-hook-type + :alloc-trans c::%make-scavenger-hook) + (value :ref-trans scavenger-hook-value :ref-known (flushable) + :init :arg) + (function :ref-trans scavenger-hook-function :ref-known (flushable) + :set-trans (setf scavenger-hook-function) :set-known (unsafe) + :init :arg) + (next :c-type "struct scavenger_hook *")) ;;; Other non-heap data blocks. @@ -401,11 +405,8 @@ (thread) ;; Signal control magic. (foreign-fn-call-active :c-type "boolean") - (interrupts-enabled :c-type "boolean") - (interrupt-pending :c-type "boolean") - (pending-signal :c-type "int") - (pending-code :c-type "int") - (pending-mask :c-type "unsigned long") + (suspends-disabled-count :c-type "int") + (suspend-pending :c-type "boolean") ;; Stacks. (control-stack-base :c-type "lispobj *") (control-stack-pointer :c-type "lispobj *") -- GitLab