Commit [ba39d1] Maximize Restore History

Pack (mostly) stack TNs according to lexical scope information

Packing TNs from shallow scopes before more deeply nested one
is a perfect elimination order when the live ranges span the
full scope (the interference graph is a comparability graph).
Use that as a heuristic, and do that for TNs that are known
to have such simple live ranges before the rest: this ensures
that bad TNs don't mess everything up.

The result is much tighter stack allocation (most of the effect
comes from initialising stack frames at a smaller size, and growing
less aggressively), and fewer long-lived stray references.

Incidentally: fix catch block packing on win32, solving lp#1072739

Paul Khuong Paul Khuong 2013-06-25

changed src/compiler/pack.lisp
changed tests/compiler.pure.lisp
changed NEWS
src/compiler/pack.lisp Diff Switch to side-by-side view
tests/compiler.pure.lisp Diff Switch to side-by-side view
NEWS Diff Switch to side-by-side view