[commit: ghc] master: Fix the Slow calling convention (#7192) (4270d7e)
Simon Marlow <[email protected]>
| Newsgroups | gmane.comp.lang.haskell.cvs.ghc |
|---|---|
| Message-ID | <[email protected]> |
Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master http://hackage.haskell.org/trac/ghc/changeset/4270d7e7485b124dd153399dfe3f571253dc0d1d >--------------------------------------------------------------- commit 4270d7e7485b124dd153399dfe3f571253dc0d1d Author: Simon Marlow <[email protected]> Date: Tue Nov 13 11:43:09 2012 +0000 Fix the Slow calling convention (#7192) The Slow calling convention passes the closure in R1, but we were ignoring this and hoping it would work, which it often did. However, this bug seems to have been the cause of #7192, because the graph-colouring allocator is more sensitive to having correct liveness information on jumps. compiler/cmm/CmmCallConv.hs | 6 +++--- compiler/cmm/CmmParse.y | 2 +- compiler/cmm/MkGraph.hs | 32 ++++++++------------------------ compiler/codeGen/StgCmmBind.hs | 21 +++++++++++---------- compiler/codeGen/StgCmmExpr.hs | 4 ++-- compiler/codeGen/StgCmmHeap.hs | 12 ++++-------- compiler/codeGen/StgCmmLayout.hs | 2 +- 7 files changed, 30 insertions(+), 49 deletions(-) Diff suppressed because of size. To see it, use: git show 4270d7e7485b124dd153399dfe3f571253dc0d1d