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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/97adc5de9bbb976a4ed816575041eb7ee5d8e670

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

commit 97adc5de9bbb976a4ed816575041eb7ee5d8e670
Author: Simon Marlow <[email protected]>
Date:   Tue Jul 10 14:29:56 2012 +0100

    adjustHpBackwards before calling a let-no-escape

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

 compiler/codeGen/StgCmmExpr.hs |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/compiler/codeGen/StgCmmExpr.hs b/compiler/codeGen/StgCmmExpr.hs
index e2789e7..9e2b78c 100644
--- a/compiler/codeGen/StgCmmExpr.hs
+++ b/compiler/codeGen/StgCmmExpr.hs
@@ -609,7 +609,8 @@ cgIdApp fun_id args
 
 cgLneJump :: BlockId -> [LocalReg] -> [StgArg] -> FCode ()
 cgLneJump blk_id lne_regs args -- Join point; discard sequel
-  = do { cmm_args <- getNonVoidArgAmodes args
+  = do  { adjustHpBackwards -- always do this before a tail-call
+        ; cmm_args <- getNonVoidArgAmodes args
         ; emitMultiAssign lne_regs cmm_args
         ; emit (mkBranch blk_id) }
     



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

Reply via email to