0.9.5.20:
authorGabor Melis <mega@hotpop.com>
Tue, 4 Oct 2005 17:31:26 +0000 (17:31 +0000)
committerGabor Melis <mega@hotpop.com>
Tue, 4 Oct 2005 17:31:26 +0000 (17:31 +0000)
commit0b5119848b6b8713e473fa669356645747e11dbd
tree98b121a7a08bfdb98c0d32672f51c657b0d28cb8
parent03fdcf4cd8f7551759c64c83144c11f423f4e6b6
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
18 files changed:
NEWS
package-data-list.lisp-expr
src/code/exhaust.lisp
src/code/target-thread.lisp
src/compiler/generic/genesis.lisp
src/compiler/generic/objdef.lisp
src/compiler/x86-64/parms.lisp
src/compiler/x86/parms.lisp
src/runtime/gencgc.c
src/runtime/interrupt.c
src/runtime/thread.c
src/runtime/thread.h
src/runtime/validate.c
src/runtime/validate.h
src/runtime/x86-64-arch.h
src/runtime/x86-arch.h
tests/threads.impure.lisp
version.lisp-expr