Commit [edb7ac] Maximize Restore History

1.0.48.21: explicitly indefinite-extent leaves, safer dynamic-extent &REST

Change LEAF-DYNAMIC-EXTENT to LEAF-EXTENT. Setting it to :INDEFINITE stops
dynamic-extent propagation through the leaf.

Use this in CONVERT-MORE-CALL / CONVERT-HAIRY-FUN-ENTRY by proclaiming the
variables in the open-coded &REST list as having indefinite-extent.

The upshot is that dynamic-extent &REST will only stack allocate the spine
of the rest list, making it easier and safer to use.

Document this in the manual and attach appropriate caveats re. portability.

Nikodemus Siivola Nikodemus Siivola 2011-05-24

changed doc/manual/efficiency.texinfo
changed src/compiler/generic/vm-ir2tran.lisp
changed src/compiler/ir1tran.lisp
changed src/compiler/ir1util.lisp
changed src/compiler/locall.lisp
changed src/compiler/node.lisp
changed src/compiler/physenvanal.lisp
changed tests/dynamic-extent.impure.lisp
changed NEWS
changed version.lisp-expr
doc/manual/efficiency.texinfo Diff Switch to side-by-side view
Loading...
src/compiler/generic/vm-ir2tran.lisp Diff Switch to side-by-side view
Loading...
src/compiler/ir1tran.lisp Diff Switch to side-by-side view
Loading...
src/compiler/ir1util.lisp Diff Switch to side-by-side view
Loading...
src/compiler/locall.lisp Diff Switch to side-by-side view
Loading...
src/compiler/node.lisp Diff Switch to side-by-side view
Loading...
src/compiler/physenvanal.lisp Diff Switch to side-by-side view
Loading...
tests/dynamic-extent.impure.lisp Diff Switch to side-by-side view
Loading...
NEWS Diff Switch to side-by-side view
Loading...
version.lisp-expr Diff Switch to side-by-side view
Loading...