[project @ 2001-09-12 15:52:40 by sewardj]
authorsewardj <unknown>
Wed, 12 Sep 2001 15:52:40 +0000 (15:52 +0000)
committersewardj <unknown>
Wed, 12 Sep 2001 15:52:40 +0000 (15:52 +0000)
commit7a846c96fdd5f336fa39c12112dc60dd2d3a1e95
tree4ed71aa7ff85ae39437c6931a6f2928dc7b5d7c7
parent2db150e82af6cb9802006227cffb8414d99261f3
[project @ 2001-09-12 15:52:40 by sewardj]
merge (ghc-5-02-branch --> HEAD):

Bugfix: there was an implicit assumption that the list of slots passed
to freeStackSlots was already sorted, whereas in fact this wasn't the
case for at least one call.  Now we explicitly sort the list in
freeStackSlots, removing the hidden assumption.

The symptoms of this bug include crashes (perhaps the "AsmCodeGen"
crash), and a tendency to grow the stack a lot when let-no-escapes are
involved (because the bug caused fragmentation of the stack free list,
so we weren't re-using free slots properly).
  1.17.2.1  +3 -2      fptools/ghc/compiler/codeGen/CgStackery.lhs

ASSERT that the list of stack slots we calculate in buildLivenessMask
is sorted, because we rely on that property later.
  1.38.2.1  +5 -6      fptools/ghc/compiler/codeGen/CgBindery.lhs
ghc/compiler/codeGen/CgBindery.lhs
ghc/compiler/codeGen/CgStackery.lhs