Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

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 NEWS
changed doc
changed doc/manual
changed doc/manual/efficiency.texinfo
changed src
changed src/compiler
changed src/compiler/generic
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
changed tests/dynamic-extent.impure.lisp
changed version.lisp-expr
NEWS Diff Switch to side-by-side view
Loading...
doc
Directory.
doc/manual
Directory.
doc/manual/efficiency.texinfo Diff Switch to side-by-side view
Loading...
src
Directory.
src/compiler
Directory.
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
Directory.
tests/dynamic-extent.impure.lisp Diff Switch to side-by-side view
Loading...
version.lisp-expr Diff Switch to side-by-side view
Loading...