Commit [682203] Maximize Restore History

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.

Nikodemus Siivola Nikodemus Siivola 2008-07-30

1 2 > >> (Page 1 of 2)
added src/code/cross-early.lisp
changed doc/manual/efficiency.texinfo
changed src/code/array.lisp
changed src/code/backq.lisp
changed src/code/defboot.lisp
changed src/code/early-extensions.lisp
changed src/code/eval.lisp
changed src/code/list.lisp
changed src/code/numbers.lisp
changed src/code/profile.lisp
changed src/code/seq.lisp
changed src/code/sort.lisp
changed src/code/step.lisp
changed src/code/target-char.lisp
changed src/code/target-error.lisp
changed src/code/target-signal.lisp
changed src/compiler/alpha/alloc.lisp
changed src/compiler/alpha/call.lisp
changed src/compiler/generic/vm-ir2tran.lisp
changed src/compiler/mips/alloc.lisp
changed src/compiler/mips/call.lisp
changed src/compiler/ppc/alloc.lisp
changed src/compiler/ppc/call.lisp
changed src/compiler/sparc/alloc.lisp
changed src/compiler/sparc/call.lisp
src/code/cross-early.lisp Diff Switch to side-by-side view
Loading...
doc/manual/efficiency.texinfo Diff Switch to side-by-side view
Loading...
src/code/array.lisp Diff Switch to side-by-side view
Loading...
src/code/backq.lisp Diff Switch to side-by-side view
Loading...
src/code/defboot.lisp Diff Switch to side-by-side view
Loading...
src/code/early-extensions.lisp Diff Switch to side-by-side view
Loading...
src/code/eval.lisp Diff Switch to side-by-side view
Loading...
src/code/list.lisp Diff Switch to side-by-side view
Loading...
src/code/numbers.lisp Diff Switch to side-by-side view
Loading...
src/code/profile.lisp Diff Switch to side-by-side view
Loading...
src/code/seq.lisp Diff Switch to side-by-side view
Loading...
src/code/sort.lisp Diff Switch to side-by-side view
Loading...
src/code/step.lisp Diff Switch to side-by-side view
Loading...
src/code/target-char.lisp Diff Switch to side-by-side view
Loading...
src/code/target-error.lisp Diff Switch to side-by-side view
Loading...
src/code/target-signal.lisp Diff Switch to side-by-side view
Loading...
src/compiler/alpha/alloc.lisp Diff Switch to side-by-side view
Loading...
src/compiler/alpha/call.lisp Diff Switch to side-by-side view
Loading...
src/compiler/generic/vm-ir2tran.lisp Diff Switch to side-by-side view
Loading...
src/compiler/mips/alloc.lisp Diff Switch to side-by-side view
Loading...
src/compiler/mips/call.lisp Diff Switch to side-by-side view
Loading...
src/compiler/ppc/alloc.lisp Diff Switch to side-by-side view
Loading...
src/compiler/ppc/call.lisp Diff Switch to side-by-side view
Loading...
src/compiler/sparc/alloc.lisp Diff Switch to side-by-side view
Loading...
src/compiler/sparc/call.lisp Diff Switch to side-by-side view
Loading...
1 2 > >> (Page 1 of 2)