Skip to content
Snippets Groups Projects
Commit dab8ff57 authored by wlott's avatar wlott
Browse files

Changed funcallable-instances to also have a lexenv and layout slot.

Removed the sigcontext_chain from mutators, because we need unbind to
update it so it must be a special (gengc only).
parent 6b9e27c8
No related branches found
No related tags found
No related merge requests found
......@@ -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.24 1993/02/26 08:42:54 ram Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/objdef.lisp,v 1.25 1993/03/12 15:18:40 wlott Exp $")
;;;
;;; **********************************************************************
;;;
......@@ -44,7 +44,10 @@
forwarding-pointer-type scavenger-hook-type))
(in-package "KERNEL")
(export '(%set-funcallable-instance-function %make-funcallable-instance))
(export '(%set-funcallable-instance-function %make-funcallable-instance
#+gengc funcallable-instance-entry-point
#-gengc funcallable-instance-function
funcallable-instance-lexenv funcallable-instance-layout))
(export '(%numerator %denominator %realpart %imagpart
%code-code-size %code-entry-points %code-debug-info
......@@ -316,6 +319,12 @@
#-gengc (function :init :arg
:set-trans %set-funcallable-instance-function)
#+gengc (entry-point :c-type "char *")
(lexenv :init :arg
:ref-known (flushable) :ref-trans funcallable-instance-lexenv
:set-known (unsafe) :set-trans (setf funcallable-instance-lexenv))
(layout :init :arg
:ref-known (flushable) :ref-trans funcallable-instance-layout
:set-known (unsafe) :set-trans (setf funcallable-instance-layout))
(info :rest-p t))
(define-primitive-object (value-cell :lowtag other-pointer-type
......@@ -385,14 +394,10 @@
(previous-catch :c-type "struct catch_block *")
size)
#+gengc
(define-primitive-object (sigcontext-chain)
(scp :c-type "struct sigcontext *")
(next :c-type "struct sigcontext_chain *"))
#+gengc
(define-primitive-object (mutator)
(thread :c-type "struct thread *")
;; Holds the lisp thread structure, if any.
(thread)
;; Signal control magic.
(foreign-fn-call-active :c-type "boolean")
(interrupts-enabled :c-type "boolean")
......@@ -400,7 +405,6 @@
(pending-signal :c-type "int")
(pending-code :c-type "int")
(pending-mask :c-type "unsigned long")
(sigcontext-chain :c-type "struct sigcontext_chain *")
;; Stacks.
(control-stack-base :c-type "lispobj *")
(control-stack-pointer :c-type "lispobj *")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment