[project @ 2003-12-23 10:10:53 by simonmar]
[ghc-hetmet.git] / ghc / rts / Proftimer.c
index 390dd69..dc36df9 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: Proftimer.c,v 1.8 2001/11/22 14:25:12 simonmar Exp $
+ * $Id: Proftimer.c,v 1.12 2003/02/22 04:51:52 sof Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
 
 #include "PosixSource.h"
 
+#include <stdio.h>
+
 #include "Rts.h"
 #include "Profiling.h"
-#include "Itimer.h"
+#include "Timer.h"
 #include "Proftimer.h"
 #include "RtsFlags.h"
 
@@ -29,17 +31,13 @@ rtsBool performHeapProfile;
 void
 stopProfTimer( void )
 {
-    if (time_profiling) {
-       do_prof_ticks = rtsFalse;
-    }
+    do_prof_ticks = rtsFalse;
 }
 
 void
 startProfTimer( void )
 {
-    if (time_profiling) {
-       do_prof_ticks = rtsTrue;
-    }
+    do_prof_ticks = rtsTrue;
 }
 
 void
@@ -51,7 +49,8 @@ stopHeapProfTimer( void )
 void
 startHeapProfTimer( void )
 {
-    if (RtsFlags.ProfFlags.doHeapProfile) {
+    if (RtsFlags.ProfFlags.doHeapProfile && 
+       RtsFlags.ProfFlags.profileIntervalTicks > 0) {
        do_heap_prof_ticks = rtsTrue;
     }
 }
@@ -68,13 +67,13 @@ initProfTimer( void )
 
     startHeapProfTimer();
 }
-    
+
 
 void
 handleProfTick(void)
 {
     if (do_prof_ticks) {
-       CCS_TICK(CCCS);
+       CCCS->time_ticks++;
     }
 
     if (do_heap_prof_ticks) {