summaryrefslogtreecommitdiff
path: root/rts/Timer.c
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-04-27 12:01:13 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-04-27 12:01:13 +0000
commitcbeb99efd4a117de5b028341dc41bc8f50717383 (patch)
tree718b3dab5c48e29f797210702cbc2dc4d2b732ea /rts/Timer.c
parent47e0b5e52240f8794b117e0dbde4e21f41ffe9ec (diff)
downloadhaskell-cbeb99efd4a117de5b028341dc41bc8f50717383.tar.gz
Basic heap profile support without -prof
Now that constructor info tables contain the name of the constructor, we can generate useful heap profiles without requiring the whole program and libraries to be compiled with -prof. So now, "+RTS -hT" generates a heap profile for any program, dividing the profile by constructor. It wouldn't be hard to add support for grouping constructors by module, or to restrict the profile to certain constructors/modules/packages. This means that for the first time we can get heap profiles for GHCi, which was previously impossible because the byte-code interpreter and linker don't work with -prof.
Diffstat (limited to 'rts/Timer.c')
-rw-r--r--rts/Timer.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/rts/Timer.c b/rts/Timer.c
index 493fe3d35f..05d1fecdc7 100644
--- a/rts/Timer.c
+++ b/rts/Timer.c
@@ -42,9 +42,7 @@ static
void
handle_tick(int unused STG_UNUSED)
{
-#ifdef PROFILING
handleProfTick();
-#endif
if (RtsFlags.ConcFlags.ctxtSwitchTicks > 0) {
ticks_to_ctxt_switch--;
if (ticks_to_ctxt_switch <= 0) {
@@ -86,10 +84,7 @@ handle_tick(int unused STG_UNUSED)
void
startTimer(void)
{
-#ifdef PROFILING
initProfTimer();
-#endif
-
startTicker(RtsFlags.MiscFlags.tickInterval, handle_tick);
}