summaryrefslogtreecommitdiff
path: root/compiler/codeGen/StgCmmLayout.hs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-11-13 11:43:09 +0000
committerSimon Marlow <marlowsd@gmail.com>2012-11-13 11:43:09 +0000
commit4270d7e7485b124dd153399dfe3f571253dc0d1d (patch)
treeed539eab1f3019ad7910bc51af426f1b46468683 /compiler/codeGen/StgCmmLayout.hs
parent1c160e588706f4ff6b4e391602e38f0a2044ec13 (diff)
downloadhaskell-4270d7e7485b124dd153399dfe3f571253dc0d1d.tar.gz
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.
Diffstat (limited to 'compiler/codeGen/StgCmmLayout.hs')
-rw-r--r--compiler/codeGen/StgCmmLayout.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/codeGen/StgCmmLayout.hs b/compiler/codeGen/StgCmmLayout.hs
index bb0b8a78d0..3b4d954d8e 100644
--- a/compiler/codeGen/StgCmmLayout.hs
+++ b/compiler/codeGen/StgCmmLayout.hs
@@ -121,7 +121,7 @@ emitCallWithExtraStack (callConv, retConv) fun args extra_stack
; updfr_off <- getUpdFrameOff
; case sequel of
Return _ -> do
- emit $ mkForeignJumpExtra dflags callConv fun args updfr_off extra_stack
+ emit $ mkJumpExtra dflags callConv fun args updfr_off extra_stack
return AssignedDirectly
AssignTo res_regs _ -> do
k <- newLabelC