projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a53ccca
)
profiling build fixes
author
Simon Marlow
<marlowsd@gmail.com>
Wed, 5 Aug 2009 09:35:39 +0000
(09:35 +0000)
committer
Simon Marlow
<marlowsd@gmail.com>
Wed, 5 Aug 2009 09:35:39 +0000
(09:35 +0000)
includes/rts/prof/CCS.h
patch
|
blob
|
history
includes/rts/prof/LDV.h
patch
|
blob
|
history
rts/LdvProfile.c
patch
|
blob
|
history
rts/LdvProfile.h
patch
|
blob
|
history
rts/RetainerProfile.c
patch
|
blob
|
history
rts/RetainerProfile.h
patch
|
blob
|
history
rts/sm/Evac.c
patch
|
blob
|
history
rts/sm/GC.c
patch
|
blob
|
history
rts/sm/Scav.c
patch
|
blob
|
history
diff --git
a/includes/rts/prof/CCS.h
b/includes/rts/prof/CCS.h
index
3512930
..
d56caf0
100644
(file)
--- 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 { \
#define REGISTER_CC(cc) \
do { \
- extern CostCentre cc[]; \
if ((cc)->link == (CostCentre *)0) { \
(cc)->link = CC_LIST; \
CC_LIST = (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 { \
#define REGISTER_CCS(ccs) \
do { \
- extern CostCentreStack ccs[]; \
if ((ccs)->prevStack == (CostCentreStack *)0) { \
(ccs)->prevStack = CCS_LIST; \
CCS_LIST = (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
c51b106
..
f547246
100644
(file)
--- 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.
*/
* 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
#ifdef CMINUSMINUS
+
#define LDV_RECORD_DEAD_FILL_SLOP_DYNAMIC(c) \
foreign "C" LDV_recordDead_FILL_SLOP_DYNAMIC(c "ptr")
#define LDV_RECORD_DEAD_FILL_SLOP_DYNAMIC(c) \
foreign "C" LDV_recordDead_FILL_SLOP_DYNAMIC(c "ptr")
+
#else
#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)
#define LDV_RECORD_DEAD_FILL_SLOP_DYNAMIC(c) \
LDV_recordDead_FILL_SLOP_DYNAMIC(c)
+
#endif
#else /* !PROFILING */
#endif
#else /* !PROFILING */
diff --git
a/rts/LdvProfile.c
b/rts/LdvProfile.c
index
3a160de
..
b5c0e63
100644
(file)
--- a/
rts/LdvProfile.c
+++ b/
rts/LdvProfile.c
@@
-13,6
+13,7
@@
#include "Rts.h"
#include "Profiling.h"
#include "Rts.h"
#include "Profiling.h"
+#include "LdvProfile.h"
#include "Stats.h"
#include "RtsUtils.h"
#include "Schedule.h"
#include "Stats.h"
#include "RtsUtils.h"
#include "Schedule.h"
diff --git
a/rts/LdvProfile.h
b/rts/LdvProfile.h
index
c61b010
..
2721547
100644
(file)
--- a/
rts/LdvProfile.h
+++ b/
rts/LdvProfile.h
@@
-14,7
+14,6
@@
#include "ProfHeap.h"
#include "ProfHeap.h"
-extern void LDV_recordDead_FILL_SLOP_DYNAMIC( StgClosure *p );
extern void LdvCensusForDead ( nat );
extern void LdvCensusKillAll ( void );
extern void LdvCensusForDead ( nat );
extern void LdvCensusKillAll ( void );
diff --git
a/rts/RetainerProfile.c
b/rts/RetainerProfile.c
index
4441749
..
adec3fc
100644
(file)
--- a/
rts/RetainerProfile.c
+++ b/
rts/RetainerProfile.c
@@
-30,6
+30,7
@@
#include "Stats.h"
#include "ProfHeap.h"
#include "Apply.h"
#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?
/*
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
5f4503c
..
da9a847
100644
(file)
--- a/
rts/RetainerProfile.h
+++ b/
rts/RetainerProfile.h
@@
-16,7
+16,6
@@
extern void initRetainerProfiling ( void );
extern void endRetainerProfiling ( void );
extern void initRetainerProfiling ( void );
extern void endRetainerProfiling ( void );
-extern void printRetainer ( FILE *, retainer );
extern void retainerProfile ( void );
extern void resetStaticObjectForRetainerProfiling( StgClosure *static_objects );
extern void retainerProfile ( void );
extern void resetStaticObjectForRetainerProfiling( StgClosure *static_objects );
diff --git
a/rts/sm/Evac.c
b/rts/sm/Evac.c
index
9e6d0f1
..
ae843bd
100644
(file)
--- a/
rts/sm/Evac.c
+++ b/
rts/sm/Evac.c
@@
-22,6
+22,7
@@
#include "Compact.h"
#include "Prelude.h"
#include "Trace.h"
#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;
#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
02fd6d9
..
d2217b8
100644
(file)
--- a/
rts/sm/GC.c
+++ b/
rts/sm/GC.c
@@
-33,6
+33,7
@@
#endif
#include "Trace.h"
#include "RetainerProfile.h"
#endif
#include "Trace.h"
#include "RetainerProfile.h"
+#include "LdvProfile.h"
#include "RaiseAsync.h"
#include "Papi.h"
#include "Stable.h"
#include "RaiseAsync.h"
#include "Papi.h"
#include "Stable.h"
diff --git
a/rts/sm/Scav.c
b/rts/sm/Scav.c
index
9ebd4c5
..
52de561
100644
(file)
--- a/
rts/sm/Scav.c
+++ b/
rts/sm/Scav.c
@@
-25,6
+25,7
@@
#include "Trace.h"
#include "Sanity.h"
#include "Capability.h"
#include "Trace.h"
#include "Sanity.h"
#include "Capability.h"
+#include "LdvProfile.h"
static void scavenge_stack (StgPtr p, StgPtr stack_end);
static void scavenge_stack (StgPtr p, StgPtr stack_end);