projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2004-08-13 13:04:50 by simonmar]
[ghc-hetmet.git]
/
ghc
/
rts
/
Profiling.c
diff --git
a/ghc/rts/Profiling.c
b/ghc/rts/Profiling.c
index
902c391
..
abe319d
100644
(file)
--- a/
ghc/rts/Profiling.c
+++ b/
ghc/rts/Profiling.c
@@
-1,5
+1,5
@@
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
- * $Id: Profiling.c,v 1.32 2002/07/05 01:23:45 mthomas Exp $
+ * $Id: Profiling.c,v 1.38 2004/08/13 13:10:26 simonmar Exp $
*
* (c) The GHC Team, 1998-2000
*
*
* (c) The GHC Team, 1998-2000
*
@@
-16,12
+16,14
@@
#include "Profiling.h"
#include "Storage.h"
#include "Proftimer.h"
#include "Profiling.h"
#include "Storage.h"
#include "Proftimer.h"
-#include "Itimer.h"
+#include "Timer.h"
#include "ProfHeap.h"
#include "Arena.h"
#include "RetainerProfile.h"
#include "LdvProfile.h"
#include "ProfHeap.h"
#include "Arena.h"
#include "RetainerProfile.h"
#include "LdvProfile.h"
+#include <string.h>
+
/*
* Profiling allocation arena.
*/
/*
* Profiling allocation arena.
*/
@@
-38,7
+40,8
@@
unsigned int HP_ID;
/* figures for the profiling report.
*/
/* figures for the profiling report.
*/
-static lnat total_alloc, total_prof_ticks;
+static ullong total_alloc;
+static lnat total_prof_ticks;
/* Globals for opening the profiling log file(s)
*/
/* Globals for opening the profiling log file(s)
*/
@@
-258,8
+261,8
@@
static void
initProfilingLogFile(void)
{
/* Initialise the log file name */
initProfilingLogFile(void)
{
/* Initialise the log file name */
- prof_filename = arenaAlloc(prof_arena, strlen(prog_argv[0]) + 6);
- sprintf(prof_filename, "%s.prof", prog_argv[0]);
+ prof_filename = arenaAlloc(prof_arena, strlen(prog_name) + 6);
+ sprintf(prof_filename, "%s.prof", prog_name);
/* open the log file */
if ((prof_file = fopen(prof_filename, "w")) == NULL) {
/* open the log file */
if ((prof_file = fopen(prof_filename, "w")) == NULL) {
@@
-289,8
+292,8
@@
initProfilingLogFile(void)
if (RtsFlags.ProfFlags.doHeapProfile) {
/* Initialise the log file name */
if (RtsFlags.ProfFlags.doHeapProfile) {
/* Initialise the log file name */
- hp_filename = arenaAlloc(prof_arena, strlen(prog_argv[0]) + 6);
- sprintf(hp_filename, "%s.hp", prog_argv[0]);
+ hp_filename = arenaAlloc(prof_arena, strlen(prog_name) + 6);
+ sprintf(hp_filename, "%s.hp", prog_name);
/* open the log file */
if ((hp_file = fopen(hp_filename, "w")) == NULL) {
/* open the log file */
if ((hp_file = fopen(hp_filename, "w")) == NULL) {
@@
-325,19
+328,19
@@
endProfiling ( void )
-------------------------------------------------------------------------- */
rtsBool entering_PAP;
-------------------------------------------------------------------------- */
rtsBool entering_PAP;
-CostCentreStack *
-EnterFunCCS ( CostCentreStack *cccs, CostCentreStack *ccsfn )
+void
+EnterFunCCS ( CostCentreStack *ccsfn )
{
/* PAP_entry has already set CCCS for us */
if (entering_PAP) {
entering_PAP = rtsFalse;
{
/* PAP_entry has already set CCCS for us */
if (entering_PAP) {
entering_PAP = rtsFalse;
- return CCCS;
+ return;
}
if (ccsfn->root->is_caf == CC_IS_CAF) {
}
if (ccsfn->root->is_caf == CC_IS_CAF) {
- return AppendCCS(cccs,ccsfn);
+ CCCS = AppendCCS(CCCS,ccsfn);
} else {
} else {
- return ccsfn;
+ CCCS = ccsfn;
}
}
}
}
@@
-712,13
+715,14
@@
reportCCSProfiling( void )
gen_XML_logfile();
return;
default:
gen_XML_logfile();
return;
default:
+ break;
}
fprintf(prof_file, "\t%s Time and Allocation Profiling Report (%s)\n",
time_str(), "Final");
fprintf(prof_file, "\n\t ");
}
fprintf(prof_file, "\t%s Time and Allocation Profiling Report (%s)\n",
time_str(), "Final");
fprintf(prof_file, "\n\t ");
- fprintf(prof_file, " %s", prog_argv[0]);
+ fprintf(prof_file, " %s", prog_name);
fprintf(prof_file, " +RTS");
for (count = 0; rts_argv[count]; count++)
fprintf(prof_file, " %s", rts_argv[count]);
fprintf(prof_file, " +RTS");
for (count = 0; rts_argv[count]; count++)
fprintf(prof_file, " %s", rts_argv[count]);
@@
-732,9
+736,8
@@
reportCCSProfiling( void )
total_prof_ticks, TICK_MILLISECS);
fprintf(prof_file, "\ttotal alloc = %11s bytes",
total_prof_ticks, TICK_MILLISECS);
fprintf(prof_file, "\ttotal alloc = %11s bytes",
- ullong_format_string((ullong) total_alloc * sizeof(W_),
+ ullong_format_string(total_alloc * sizeof(W_),
temp, rtsTrue/*commas*/));
temp, rtsTrue/*commas*/));
- /* ToDo: 64-bit error! */
#if defined(PROFILING_DETAIL_COUNTS)
fprintf(prof_file, " (%lu closures)", total_allocs);
#if defined(PROFILING_DETAIL_COUNTS)
fprintf(prof_file, " (%lu closures)", total_allocs);