Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/0b0a41f96cbdaf52aac171c9c58459e3187b0f46

>---------------------------------------------------------------

commit 0b0a41f96cbdaf52aac171c9c58459e3187b0f46
Author: Simon Marlow <[email protected]>
Date:   Thu Sep 20 13:54:49 2012 +0100

    Teach the linear register allocator how to allocate more stack if necessary
    
    This squashes the "out of spill slots" panic that occasionally happens
    on x86, by adding instructions to bump and retreat the C stack pointer
    as necessary.  The panic has become more common since the new codegen,
    because we lump code into larger blocks, and the register allocator
    isn't very good at reusing stack slots for spilling (see Note [extra
    spill slots]).

 compiler/nativeGen/AsmCodeGen.lhs              |   70 ++++++++++----
 compiler/nativeGen/Instruction.hs              |   13 +++
 compiler/nativeGen/PPC/Instr.hs                |    2 +
 compiler/nativeGen/RegAlloc/Linear/Main.hs     |   25 ++++-
 compiler/nativeGen/RegAlloc/Linear/StackMap.hs |   36 +++-----
 compiler/nativeGen/SPARC/Instr.hs              |    2 +
 compiler/nativeGen/X86/Instr.hs                |  117 ++++++++++++++++++------
 compiler/nativeGen/X86/Regs.hs                 |    6 +-
 8 files changed, 189 insertions(+), 82 deletions(-)


Diff suppressed because of size. To see it, use:

    git show 0b0a41f96cbdaf52aac171c9c58459e3187b0f46

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to