summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2011-12-19 11:53:42 +0000
committerSimon Marlow <marlowsd@gmail.com>2011-12-19 12:04:47 +0000
commitb4018aaaebe4250e78cdcb245466fdcce8918abf (patch)
tree617f82fafd882a4999bbc0eb05ac3f86a6b747ac
parent24b313767cb07ebf72af1a9b12e98fbf29d79e49 (diff)
downloadhaskell-b4018aaaebe4250e78cdcb245466fdcce8918abf.tar.gz
Fix alignment in the CostCentre struct (#5710)
-rw-r--r--compiler/codeGen/CgProf.hs2
-rw-r--r--compiler/codeGen/StgCmmProf.hs16
-rw-r--r--includes/rts/prof/CCS.h2
3 files changed, 10 insertions, 10 deletions
diff --git a/compiler/codeGen/CgProf.hs b/compiler/codeGen/CgProf.hs
index a2e40d0f78..296dd62818 100644
--- a/compiler/codeGen/CgProf.hs
+++ b/compiler/codeGen/CgProf.hs
@@ -178,8 +178,8 @@ emitCostCentreDecl cc = do
label, -- char *label,
modl, -- char *module,
loc, -- char *srcloc,
+ zero64, -- StgWord64 mem_alloc
zero, -- StgWord time_ticks
- zero64, -- StgWord64 mem_alloc
is_caf, -- StgInt is_caf
zero -- struct _CostCentre *link
]
diff --git a/compiler/codeGen/StgCmmProf.hs b/compiler/codeGen/StgCmmProf.hs
index 88031dce48..6d16f012b3 100644
--- a/compiler/codeGen/StgCmmProf.hs
+++ b/compiler/codeGen/StgCmmProf.hs
@@ -223,14 +223,14 @@ emitCostCentreDecl cc = do
-- All cost centres will be in the main package, since we
-- don't normally use -auto-all or add SCCs to other packages.
-- Hence don't emit the package name in the module here.
- ; let lits = [ zero, -- StgInt ccID,
- label, -- char *label,
- modl, -- char *module,
- loc, -- char *srcloc,
- zero, -- StgWord time_ticks
- zero64, -- StgWord64 mem_alloc
- is_caf, -- StgInt is_caf
- zero -- struct _CostCentre *link
+ ; let lits = [ zero, -- StgInt ccID,
+ label, -- char *label,
+ modl, -- char *module,
+ loc, -- char *srcloc,
+ zero64, -- StgWord64 mem_alloc
+ zero, -- StgWord time_ticks
+ is_caf, -- StgInt is_caf
+ zero -- struct _CostCentre *link
]
; emitDataLits (mkCCLabel cc) lits
}
diff --git a/includes/rts/prof/CCS.h b/includes/rts/prof/CCS.h
index 36404aaf91..3639e49aa7 100644
--- a/includes/rts/prof/CCS.h
+++ b/includes/rts/prof/CCS.h
@@ -37,8 +37,8 @@ typedef struct _CostCentre {
char * srcloc;
// used for accumulating costs at the end of the run...
- StgWord time_ticks;
StgWord64 mem_alloc; // align 8 (Note [struct alignment])
+ StgWord time_ticks;
StgInt is_caf; // non-zero for a CAF cost centre