projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't enable the monomorphism warning by default
[ghc-hetmet.git]
/
rts
/
Profiling.c
diff --git
a/rts/Profiling.c
b/rts/Profiling.c
index
0bb975c
..
4e759b6
100644
(file)
--- a/
rts/Profiling.c
+++ b/
rts/Profiling.c
@@
-13,7
+13,6
@@
#include "RtsUtils.h"
#include "RtsFlags.h"
#include "Profiling.h"
#include "RtsUtils.h"
#include "RtsFlags.h"
#include "Profiling.h"
-#include "Storage.h"
#include "Proftimer.h"
#include "Timer.h"
#include "ProfHeap.h"
#include "Proftimer.h"
#include "Timer.h"
#include "ProfHeap.h"
@@
-23,6
+22,10
@@
#include <string.h>
#include <string.h>
+#ifdef DEBUG
+#include "Trace.h"
+#endif
+
/*
* Profiling allocation arena.
*/
/*
* Profiling allocation arena.
*/
@@
-183,6
+186,12
@@
initProfiling1 (void)
}
void
}
void
+freeProfiling1 (void)
+{
+ arenaFree(prof_arena);
+}
+
+void
initProfiling2 (void)
{
CostCentreStack *ccs, *next;
initProfiling2 (void)
{
CostCentreStack *ccs, *next;
@@
-277,7
+286,7
@@
initProfilingLogFile(void)
if (RtsFlags.CcFlags.doCostCentres == COST_CENTRES_XML) {
/* dump the time, and the profiling interval */
fprintf(prof_file, "\"%s\"\n", time_str());
if (RtsFlags.CcFlags.doCostCentres == COST_CENTRES_XML) {
/* dump the time, and the profiling interval */
fprintf(prof_file, "\"%s\"\n", time_str());
- fprintf(prof_file, "\"%d ms\"\n", TICK_MILLISECS);
+ fprintf(prof_file, "\"%d ms\"\n", RtsFlags.MiscFlags.tickInterval);
/* declare all the cost centres */
{
/* declare all the cost centres */
{
@@
-353,11
+362,12
@@
CostCentreStack *
PushCostCentre ( CostCentreStack *ccs, CostCentre *cc )
#define PushCostCentre _PushCostCentre
{
PushCostCentre ( CostCentreStack *ccs, CostCentre *cc )
#define PushCostCentre _PushCostCentre
{
- IF_DEBUG(prof,
- debugBelch("Pushing %s on ", cc->label);
- debugCCS(ccs);
- debugBelch("\n"));
- return PushCostCentre(ccs,cc);
+ IF_DEBUG(prof,
+ traceBegin("pushing %s on ", cc->label);
+ debugCCS(ccs);
+ traceEnd(););
+
+ return PushCostCentre(ccs,cc);
}
#endif
}
#endif
@@
-731,8
+741,10
@@
reportCCSProfiling( void )
fprintf(prof_file, "\n\n");
fprintf(prof_file, "\ttotal time = %11.2f secs (%lu ticks @ %d ms)\n",
fprintf(prof_file, "\n\n");
fprintf(prof_file, "\ttotal time = %11.2f secs (%lu ticks @ %d ms)\n",
- total_prof_ticks / (StgFloat) TICK_FREQUENCY,
- total_prof_ticks, TICK_MILLISECS);
+ (double) total_prof_ticks *
+ (double) RtsFlags.MiscFlags.tickInterval / 1000,
+ (unsigned long) total_prof_ticks,
+ (int) RtsFlags.MiscFlags.tickInterval);
fprintf(prof_file, "\ttotal alloc = %11s bytes",
ullong_format_string(total_alloc * sizeof(W_),
fprintf(prof_file, "\ttotal alloc = %11s bytes",
ullong_format_string(total_alloc * sizeof(W_),
@@
-881,8
+893,6
@@
gen_XML_logfile( void )
reportCCS_XML(pruneCCSTree(CCS_MAIN));
fprintf(prof_file, " 0\n");
reportCCS_XML(pruneCCSTree(CCS_MAIN));
fprintf(prof_file, " 0\n");
-
- fclose(prof_file);
}
static void
}
static void