summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-08-05 09:35:39 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-08-05 09:35:39 +0000
commit948c01bdb7f42504487a624b229137694871efd0 (patch)
tree162006e4eef0ed26e403fd313a7ff62caf2b97e1
parenta53ccca7894727fcf6de21b5c7b0ea2f7eaec569 (diff)
downloadhaskell-948c01bdb7f42504487a624b229137694871efd0.tar.gz
profiling build fixes
-rw-r--r--includes/rts/prof/CCS.h2
-rw-r--r--includes/rts/prof/LDV.h13
-rw-r--r--rts/LdvProfile.c1
-rw-r--r--rts/LdvProfile.h1
-rw-r--r--rts/RetainerProfile.c1
-rw-r--r--rts/RetainerProfile.h1
-rw-r--r--rts/sm/Evac.c1
-rw-r--r--rts/sm/GC.c1
-rw-r--r--rts/sm/Scav.c1
9 files changed, 14 insertions, 8 deletions
diff --git a/includes/rts/prof/CCS.h b/includes/rts/prof/CCS.h
index 3512930b7b..d56caf0be4 100644
--- a/includes/rts/prof/CCS.h
+++ b/includes/rts/prof/CCS.h
@@ -176,7 +176,6 @@ extern CostCentreStack * RTS_VAR(CCS_LIST); /* registered CCS list */
#define REGISTER_CC(cc) \
do { \
- extern CostCentre cc[]; \
if ((cc)->link == (CostCentre *)0) { \
(cc)->link = CC_LIST; \
CC_LIST = (cc); \
@@ -185,7 +184,6 @@ extern CostCentreStack * RTS_VAR(CCS_LIST); /* registered CCS list */
#define REGISTER_CCS(ccs) \
do { \
- extern CostCentreStack ccs[]; \
if ((ccs)->prevStack == (CostCentreStack *)0) { \
(ccs)->prevStack = CCS_LIST; \
CCS_LIST = (ccs); \
diff --git a/includes/rts/prof/LDV.h b/includes/rts/prof/LDV.h
index c51b10647e..f54724652d 100644
--- a/includes/rts/prof/LDV.h
+++ b/includes/rts/prof/LDV.h
@@ -23,17 +23,22 @@
* because retainer profiling also expects LDVW(c) to be initialised
* to zero.
*/
-#ifndef CMINUSMINUS
-#define LDV_RECORD_CREATE(c) \
- LDVW((c)) = ((StgWord)RTS_DEREF(era) << LDV_SHIFT) | LDV_STATE_CREATE
-#endif
#ifdef CMINUSMINUS
+
#define LDV_RECORD_DEAD_FILL_SLOP_DYNAMIC(c) \
foreign "C" LDV_recordDead_FILL_SLOP_DYNAMIC(c "ptr")
+
#else
+
+#define LDV_RECORD_CREATE(c) \
+ LDVW((c)) = ((StgWord)RTS_DEREF(era) << LDV_SHIFT) | LDV_STATE_CREATE
+
+void LDV_recordDead_FILL_SLOP_DYNAMIC( StgClosure *p );
+
#define LDV_RECORD_DEAD_FILL_SLOP_DYNAMIC(c) \
LDV_recordDead_FILL_SLOP_DYNAMIC(c)
+
#endif
#else /* !PROFILING */
diff --git a/rts/LdvProfile.c b/rts/LdvProfile.c
index 3a160de6ac..b5c0e63f01 100644
--- a/rts/LdvProfile.c
+++ b/rts/LdvProfile.c
@@ -13,6 +13,7 @@
#include "Rts.h"
#include "Profiling.h"
+#include "LdvProfile.h"
#include "Stats.h"
#include "RtsUtils.h"
#include "Schedule.h"
diff --git a/rts/LdvProfile.h b/rts/LdvProfile.h
index c61b0102e7..27215472d6 100644
--- a/rts/LdvProfile.h
+++ b/rts/LdvProfile.h
@@ -14,7 +14,6 @@
#include "ProfHeap.h"
-extern void LDV_recordDead_FILL_SLOP_DYNAMIC( StgClosure *p );
extern void LdvCensusForDead ( nat );
extern void LdvCensusKillAll ( void );
diff --git a/rts/RetainerProfile.c b/rts/RetainerProfile.c
index 4441749200..adec3fcfaa 100644
--- a/rts/RetainerProfile.c
+++ b/rts/RetainerProfile.c
@@ -30,6 +30,7 @@
#include "Stats.h"
#include "ProfHeap.h"
#include "Apply.h"
+#include "sm/Storage.h" // for END_OF_STATIC_LIST
/*
Note: what to change in order to plug-in a new retainer profiling scheme?
diff --git a/rts/RetainerProfile.h b/rts/RetainerProfile.h
index 5f4503c84b..da9a847478 100644
--- a/rts/RetainerProfile.h
+++ b/rts/RetainerProfile.h
@@ -16,7 +16,6 @@
extern void initRetainerProfiling ( void );
extern void endRetainerProfiling ( void );
-extern void printRetainer ( FILE *, retainer );
extern void retainerProfile ( void );
extern void resetStaticObjectForRetainerProfiling( StgClosure *static_objects );
diff --git a/rts/sm/Evac.c b/rts/sm/Evac.c
index 9e6d0f1783..ae843bd575 100644
--- a/rts/sm/Evac.c
+++ b/rts/sm/Evac.c
@@ -22,6 +22,7 @@
#include "Compact.h"
#include "Prelude.h"
#include "Trace.h"
+#include "LdvProfile.h"
#if defined(PROF_SPIN) && defined(THREADED_RTS) && defined(PARALLEL_GC)
StgWord64 whitehole_spin = 0;
diff --git a/rts/sm/GC.c b/rts/sm/GC.c
index 02fd6d9161..d2217b8786 100644
--- a/rts/sm/GC.c
+++ b/rts/sm/GC.c
@@ -33,6 +33,7 @@
#endif
#include "Trace.h"
#include "RetainerProfile.h"
+#include "LdvProfile.h"
#include "RaiseAsync.h"
#include "Papi.h"
#include "Stable.h"
diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c
index 9ebd4c5597..52de561ff8 100644
--- a/rts/sm/Scav.c
+++ b/rts/sm/Scav.c
@@ -25,6 +25,7 @@
#include "Trace.h"
#include "Sanity.h"
#include "Capability.h"
+#include "LdvProfile.h"
static void scavenge_stack (StgPtr p, StgPtr stack_end);