PowerPC safepoints
authorDavid Lichteblau <david@lichteblau.com>
Mon, 1 Oct 2012 18:10:44 +0000 (20:10 +0200)
committerDavid Lichteblau <david@lichteblau.com>
Tue, 13 Nov 2012 17:05:08 +0000 (18:05 +0100)
commitfd8e8143cf02ac767e2a46a2bc526933e68ef583
treee1e249e697b1c1d6010a94fdce01649fa6e73edb
parent7d986ea35d26bbde3d8df8cc2580905b918aefef
PowerPC safepoints

"I saw it almost pass tests once.  Ship it."

Rough PowerPC port of sb-safepoint and related features.  Occasional
issues remain (see comment in test suite).

  - Sprinkle fake_foreign_function_call fairy dust over safepoint code.

  - Use the CSP page for synchronization, but not for its value.

  - No altstack, hence no tricks to escape from it.

  - Remove workarounds related to the SIGALRM handler; but keep
    SIGINT happy for now, with a somewhat less questionable check.
13 files changed:
src/code/target-signal.lisp
src/compiler/ppc/c-call.lisp
src/compiler/ppc/macros.lisp
src/compiler/ppc/parms.lisp
src/compiler/ppc/system.lisp
src/runtime/gc-common.c
src/runtime/gc-internal.h
src/runtime/gencgc.c
src/runtime/interrupt.c
src/runtime/ppc-assem.S
src/runtime/safepoint.c
src/runtime/thread.h
tests/threads.impure.lisp