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/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 version.lisp-expr
NEWS Diff Switch to side-by-side view
Loading...
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...
version.lisp-expr Diff Switch to side-by-side view
Loading...

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks