compiler/{sparc,ppc}/macros: with-pinned-objects improvements.
authorAlastair Bridgewater <nyef@lain.lisphacker.com>
Wed, 24 Apr 2013 17:07:35 +0000 (13:07 -0400)
committerAlastair Bridgewater <nyef@lain.lisphacker.com>
Wed, 1 May 2013 20:23:27 +0000 (16:23 -0400)
commit427da7910cc5d8398f19def9a02f3fa13c798c25
treeab29e7f0ff2d34079bf7a5d1819793540d8b7ecd
parent37a9a1acdb9f9d6bd91b8420fc7fb351b44b11e9
compiler/{sparc,ppc}/macros: with-pinned-objects improvements.

  * For all precise gencgc backends, with-pinned-objects uses an
explicit "pin list".  This pin list should be stack-allocated.

  * Declare the pin list to be TRULY-DYNAMIC-EXTENT, for both
backends.  This won't actually do anything unless the backend
also supports :stack-allocatable-fixed-objects or more than two
objects are to be pinned at once (one-arg LIST and two-arg LIST*
are both converted to CONS by the compiler, and CONS falls under
:stack-allocatable-fixed-objects rather than
:stack-allocatable-lists).
src/compiler/ppc/macros.lisp
src/compiler/sparc/macros.lisp