1.0.41.15: gencgc: Implement object pinning for non-x86oids.
authorAlastair Bridgewater <lisphacker@users.sourceforge.net>
Fri, 6 Aug 2010 18:49:42 +0000 (18:49 +0000)
committerAlastair Bridgewater <lisphacker@users.sourceforge.net>
Fri, 6 Aug 2010 18:49:42 +0000 (18:49 +0000)
commit2aa6e79b681cf29b047ca66215c1544f0fac0067
tree283c9c420321ede75b09088ade57a0f71d03e29d
parent922fe0d6da0e4bdcd366f5101395670aabd14e62
1.0.41.15: gencgc: Implement object pinning for non-x86oids.

  * Add a new static symbol for all non-x86oid gencgc targets,
*pinned-objects*.

  * Bind *pinned-objects* to NIL during thread creation if it is
defined.

  * During garbage collection, where x86oids preserve pointers on
the various thread stacks, use the same mechanism to preserve
pointers linked on *pinned-objects* for each thread.

  * Change the PPC version of with-pinned-objects to rebind
*pinned-objects* with the new objects to pin prepended when using
gencgc.
src/code/sysmacs.lisp
src/compiler/generic/parms.lisp
src/compiler/ppc/macros.lisp
src/runtime/gencgc.c
src/runtime/thread.c
version.lisp-expr