#ifdef PROFILING
+#include "PosixSource.h"
#include "Rts.h"
-#include "RtsFlags.h"
+
#include "Stats.h"
#include "RtsUtils.h"
#include "RetainerSet.h"
#include "Arena.h"
#include "Profiling.h"
-#include <stdlib.h>
#include <string.h>
#define HASH_TABLE_SIZE 255
void
printRetainer(FILE *f, retainer itbl)
{
- fprintf(f, "%s[%s]", itbl->prof.closure_desc, itbl->prof.closure_type);
+ fprintf(f, "%s[%s]", GET_PROF_DESC(itbl), itbl->prof.closure_type);
}
#elif defined(RETAINER_SCHEME_CCS)
// Retainer scheme 2: retainer = cost centre stack
for (j = 0; j < rs->num; j++) {
if (j < rs->num - 1) {
- strncpy(tmp + size, rs->element[j]->prof.closure_desc, MAX_RETAINER_SET_SPACE - size);
+ strncpy(tmp + size, GET_PROF_DESC(rs->element[j]), MAX_RETAINER_SET_SPACE - size);
size = strlen(tmp);
if (size == MAX_RETAINER_SET_SPACE)
break;
break;
}
else {
- strncpy(tmp + size, rs->element[j]->prof.closure_desc, MAX_RETAINER_SET_SPACE - size);
+ strncpy(tmp + size, GET_PROF_DESC(rs->element[j]), MAX_RETAINER_SET_SPACE - size);
// size = strlen(tmp);
}
}
// size = strlen(tmp);
}
}
- fprintf(f, tmp);
+ fputs(tmp, f);
}
#elif defined(RETAINER_SCHEME_CC)
// Retainer scheme 3: retainer = cost centre