ppc support for stack-allocatable-vectors
authorAlastair Bridgewater <nyef@lain.lisphacker.com>
Thu, 25 Apr 2013 18:55:13 +0000 (14:55 -0400)
committerAlastair Bridgewater <nyef@lain.lisphacker.com>
Wed, 1 May 2013 20:23:28 +0000 (16:23 -0400)
commita5b844b680721c3cbe8fb1c1e19eb4e47579e07b
tree28a40d169928b4865a1bc65724d8769cdbf75c37
parentecca88e85c0f8bafea9be8c03cee793657168baf
ppc support for stack-allocatable-vectors

  * This turned out to be fairly straightforward.  Unlike in a
heap-allocation-only regime, where a VOP is required to :TRANSLATE
ALLOCATE-VECTOR, the :STACK-ALLOCATABLE-VECTORS feature enables an
LTN-ANNOTATE optimizer for ALLOCATE-VECTOR that substitutes
invocations of one of two named VOPs.

  * To convert from the old regime to the new, rename the old VOP
to fit the new naming scheme, and write a new VOP to do the stack
allocation.

  * As a cleaning-up-a-loose-end matter, lose the :TRANSLATE
option for the old VOP.

  * And as a "being somewhat cute about things" matter, make the
support for stack-allocatable-vectors selectable at build time,
which should provide a quick overview of how to make this work on
some other platform, should anyone else be interested later on.
make-config.sh
src/assembly/ppc/array.lisp