diff options
author | Simon Marlow <marlowsd@gmail.com> | 2012-09-05 09:23:04 +0100 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2012-09-05 09:53:43 +0100 |
commit | ccf44d89c23b27cb7e185bf229b2265edb590daf (patch) | |
tree | 120097e200ac455e8486edb3207153c0fa62c848 /compiler/codeGen | |
parent | bd5354e31c98c489d58ec686dd87d0d2d5e4d622 (diff) | |
download | haskell-ccf44d89c23b27cb7e185bf229b2265edb590daf.tar.gz |
A further fix for -split-objs with the new codegen
Diffstat (limited to 'compiler/codeGen')
-rw-r--r-- | compiler/codeGen/StgCmmExpr.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/codeGen/StgCmmExpr.hs b/compiler/codeGen/StgCmmExpr.hs index ab6f888835..bc29c68c37 100644 --- a/compiler/codeGen/StgCmmExpr.hs +++ b/compiler/codeGen/StgCmmExpr.hs @@ -611,7 +611,10 @@ cgIdApp fun_id args = do { fun_info <- getCgIdInfo fun_id ; case maybeLetNoEscape fun_info of Just (blk_id, lne_regs) -> cgLneJump blk_id lne_regs args - Nothing -> cgTailCall fun_id fun_info args } + Nothing -> cgTailCall (cg_id fun_info) fun_info args } + -- NB. use (cg_id fun_info) instead of fun_id, because the former + -- may be externalised for -split-objs. + -- See StgCmm.maybeExternaliseId. cgLneJump :: BlockId -> [LocalReg] -> [StgArg] -> FCode ReturnKind cgLneJump blk_id lne_regs args -- Join point; discard sequel |