Safepoint protocol upgrade
authorDavid Lichteblau <david@lichteblau.com>
Wed, 31 Oct 2012 17:06:00 +0000 (18:06 +0100)
committerDavid Lichteblau <david@lichteblau.com>
Fri, 2 Nov 2012 20:52:04 +0000 (21:52 +0100)
commit8ede17a6b75128950ba83bb5e59e6c1b4d6f2746
tree12dd377c62f465b93bc08b35471d7ff5f207df45
parent2e535ea6532d287100d9689f6a0f78d5052003d1
Safepoint protocol upgrade

Upgrade to the new stop-the-world protocol from the Windows branch,
dating back to late 2011, an all-in-one readability and correctness
improvement.

Replace per-thread qrl locks with one process-wide lock for all
operations relating to GC state and the threads' CSP area.  Use
condition variables for notifications on GC state changes.

Thanks to Anton Kovalenko.
src/compiler/generic/parms.lisp
src/runtime/interrupt.c
src/runtime/runtime.h
src/runtime/safepoint.c
src/runtime/thread.c
src/runtime/thread.h