1.0.19.7: refactor stack allocation decisions
commit6822034325136cde4e14773c83c3769b42721306
authorNikodemus Siivola <nikodemus@random-state.net>
Wed, 30 Jul 2008 17:58:39 +0000 (30 17:58 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Wed, 30 Jul 2008 17:58:39 +0000 (30 17:58 +0000)
treee99bad7a3d706c210934b400cfd79e754a78f1c3
parent451d6e4af62dc8bbad57219c403d4395db84a4d6
1.0.19.7: refactor stack allocation decisions

 * Remove SB-C::STACK-ALLOCATE-* policies.

 * Obey DYNAMIC-EXTENT declarations if SB-EXT:*STACK-ALLOCATE-DYNAMIC-EXTENT*
   is true (the default), with the following exceptions:

    ** Value cells are not stack allocated.

    ** Vectors that may be longer then a single page are stack
       allocated only in SAFETY 0 policies.

 * New declaration: SB-INT:TRULY-DYNAMIC-EXTENT. Always stack-allocates,
   regardless of SB-EXT:*STACK-ALLOCATE-DYNAMIC-EXTENT*. Also causes stack
   allocation of value cells and potentially large vectors.

   Used exclusively inside SBCL.

 * Move STACK-ALLOCATE-RESULT optimizers from backends to
   src/compiler/generic/vm-ir2tran.lisp.

 * Documentation.
45 files changed:
BUGS
NEWS
build-order.lisp-expr
doc/manual/efficiency.texinfo
make-host-2.lisp
package-data-list.lisp-expr
src/code/array.lisp
src/code/backq.lisp
src/code/cross-early.lisp [new file with mode: 0644]
src/code/defboot.lisp
src/code/early-extensions.lisp
src/code/eval.lisp
src/code/list.lisp
src/code/numbers.lisp
src/code/profile.lisp
src/code/seq.lisp
src/code/sort.lisp
src/code/step.lisp
src/code/target-char.lisp
src/code/target-error.lisp
src/code/target-signal.lisp
src/compiler/alpha/alloc.lisp
src/compiler/alpha/call.lisp
src/compiler/early-c.lisp
src/compiler/generic/vm-ir2tran.lisp
src/compiler/ir1tran.lisp
src/compiler/ir1util.lisp
src/compiler/ir2tran.lisp
src/compiler/locall.lisp
src/compiler/mips/alloc.lisp
src/compiler/mips/call.lisp
src/compiler/node.lisp
src/compiler/physenvanal.lisp
src/compiler/policies.lisp
src/compiler/ppc/alloc.lisp
src/compiler/ppc/call.lisp
src/compiler/sparc/alloc.lisp
src/compiler/sparc/call.lisp
src/compiler/x86-64/alloc.lisp
src/compiler/x86-64/call.lisp
src/compiler/x86/alloc.lisp
src/compiler/x86/call.lisp
src/pcl/sequence.lisp
tests/dynamic-extent.impure.lisp
version.lisp-expr