summaryrefslogtreecommitdiff
path: root/compiler/codeGen/StgCmmProf.hs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-08-07 10:28:27 +0100
committerSimon Marlow <marlowsd@gmail.com>2012-08-07 15:32:05 +0100
commit5c3f13f0067491d4db044eb8159044c3ba715941 (patch)
tree51aabd5fdd2413dbd538c57bf8509aae079fd1e5 /compiler/codeGen/StgCmmProf.hs
parentddd6af07ffcb0d58d04985e72c858f039db6460e (diff)
downloadhaskell-5c3f13f0067491d4db044eb8159044c3ba715941.tar.gz
Fix update frames for profiling
Diffstat (limited to 'compiler/codeGen/StgCmmProf.hs')
-rw-r--r--compiler/codeGen/StgCmmProf.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/codeGen/StgCmmProf.hs b/compiler/codeGen/StgCmmProf.hs
index 0577c514ea..56c02d040f 100644
--- a/compiler/codeGen/StgCmmProf.hs
+++ b/compiler/codeGen/StgCmmProf.hs
@@ -99,11 +99,11 @@ dynProfHdr :: DynFlags -> CmmExpr -> [CmmExpr]
-- Profiling header words in a dynamic closure
dynProfHdr dflags ccs = ifProfilingL dflags [ccs, dynLdvInit]
-initUpdFrameProf :: CmmExpr -> FCode ()
+initUpdFrameProf :: ByteOff -> FCode ()
-- Initialise the profiling field of an update frame
-initUpdFrameProf frame_amode
+initUpdFrameProf frame_off
= ifProfiling $ -- frame->header.prof.ccs = CCCS
- emitStore (cmmOffsetB frame_amode oFFSET_StgHeader_ccs) curCCS
+ emitStore (CmmStackSlot Old (frame_off - oFFSET_StgHeader_ccs)) curCCS
-- frame->header.prof.hp.rs = NULL (or frame-header.prof.hp.ldvw = 0)
-- is unnecessary because it is not used anyhow.