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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/649f3b0ca64619f3b77113ce3c94677ba70062b1

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

commit 649f3b0ca64619f3b77113ce3c94677ba70062b1
Author: Simon Marlow <[email protected]>
Date:   Mon Oct 10 14:50:41 2011 +0100

    Don't generate stg_ap thunks when profiling, it loses information (#949)

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

 compiler/codeGen/CgExpr.lhs    |    4 ++++
 compiler/codeGen/StgCmmBind.hs |    5 ++++-
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/compiler/codeGen/CgExpr.lhs b/compiler/codeGen/CgExpr.lhs
index fe08f50..1f16c1f 100644
--- a/compiler/codeGen/CgExpr.lhs
+++ b/compiler/codeGen/CgExpr.lhs
@@ -42,6 +42,7 @@ import ListSetOps
 import BasicTypes
 import Util
 import Outputable
+import StaticFlags
 \end{code}
 
 This module provides the support code for @StgToAbstractC@ to deal
@@ -382,6 +383,9 @@ mkRhsClosure    bndr cc bi
        && all isFollowableArg (map idCgRep fvs) 
        && isUpdatable upd_flag
        && arity <= mAX_SPEC_AP_SIZE 
+        && not opt_SccProfilingOn -- not when profiling: we don't want to
+                                  -- lose information about this particular
+                                  -- thunk (e.g. its type) (#949)
 
                   -- Ha! an Ap thunk
        = cgStdRhsClosure bndr cc bi fvs [] body lf_info payload
diff --git a/compiler/codeGen/StgCmmBind.hs b/compiler/codeGen/StgCmmBind.hs
index 9f66684..67dcd2d 100644
--- a/compiler/codeGen/StgCmmBind.hs
+++ b/compiler/codeGen/StgCmmBind.hs
@@ -247,8 +247,11 @@ mkRhsClosure    bndr cc bi
        && all (isGcPtrRep . idPrimRep . stripNV) fvs
        && isUpdatable upd_flag
        && arity <= mAX_SPEC_AP_SIZE
+        && not opt_SccProfilingOn -- not when profiling: we don't want to
+                                  -- lose information about this particular
+                                  -- thunk (e.g. its type) (#949)
 
-                  -- Ha! an Ap thunk
+                   -- Ha! an Ap thunk
   = cgStdThunk bndr cc bi body lf_info payload
   where
        lf_info = mkApLFInfo bndr upd_flag arity



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

Reply via email to