From: <me...@us...> - 2005-10-04 17:31:39
|
Update of /cvsroot/sbcl/sbcl/src/compiler/generic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14377/src/compiler/generic Modified Files: genesis.lisp objdef.lisp Log Message: 0.9.5.20: * thread stacks are freed by the thread that exists next. There is at most one freeable stack at any time. Details: * protect_control_stack_*_page always operates on the current thread * the lisp thread object does not keep a pointer to the C thread struct because it can now be freed at any time * the interruption queue is moved to the lisp thread object * much simpler thread start/stop and gc interaction and locking * STATE_STARTING is removed Index: genesis.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/genesis.lisp,v retrieving revision 1.110 retrieving revision 1.111 diff -u -d -r1.110 -r1.111 --- genesis.lisp 9 Sep 2005 14:16:18 -0000 1.110 +++ genesis.lisp 4 Oct 2005 17:31:26 -0000 1.111 @@ -1269,7 +1269,8 @@ (frob sb!kernel::undefined-alien-function-error) (frob sb!kernel::memory-fault-error) (frob sb!di::handle-breakpoint) - (frob sb!di::handle-fun-end-breakpoint)) + (frob sb!di::handle-fun-end-breakpoint) + #!+sb-thread (frob sb!thread::run-interruption)) (cold-set 'sb!vm::*current-catch-block* (make-fixnum-descriptor 0)) (cold-set 'sb!vm::*current-unwind-protect-block* (make-fixnum-descriptor 0)) Index: objdef.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/objdef.lisp,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- objdef.lisp 6 Sep 2005 14:29:01 -0000 1.40 +++ objdef.lisp 4 Oct 2005 17:31:26 -0000 1.41 @@ -423,8 +423,6 @@ (tls-cookie) ; on x86, the LDT index #!+(or x86 x86-64) (pseudo-atomic-atomic) #!+(or x86 x86-64) (pseudo-atomic-interrupted) - (interrupt-fun) - (interrupt-fun-lock :c-type "volatile lispobj") (interrupt-data :c-type "struct interrupt_data *" :length #!+alpha 2 #!-alpha 1) (interrupt-contexts :c-type "os_context_t *" :rest-p t)) |