X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FProftimer.c;h=ae63670418897915dba3940c75ccc6481bbdc8c9;hb=6d6424aee6a4296de9551d2d2a517564754e51d8;hp=bd50c98350132f02b1737f88698076c7d4138f41;hpb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;p=ghc-hetmet.git diff --git a/ghc/rts/Proftimer.c b/ghc/rts/Proftimer.c index bd50c98..ae63670 100644 --- a/ghc/rts/Proftimer.c +++ b/ghc/rts/Proftimer.c @@ -1,62 +1,42 @@ /* ----------------------------------------------------------------------------- - * $Id: Proftimer.c,v 1.2 1998/12/02 13:28:36 simonm Exp $ + * $Id: Proftimer.c,v 1.6 2000/04/03 15:54:49 simonmar Exp $ * - * (c) The GHC Team, 1998 + * (c) The GHC Team, 1998-1999 * * Profiling interval timer * * ---------------------------------------------------------------------------*/ -/* Only have cost centres etc if PROFILING defined */ - #if defined (PROFILING) #include "Rts.h" -#include "ProfRts.h" +#include "Profiling.h" #include "Itimer.h" #include "Proftimer.h" -lnat total_ticks = 0; - -nat current_interval = 1; /* Current interval number -- - stored in AGE */ - -nat interval_ticks = DEFAULT_INTERVAL; /* No of ticks in an interval */ - -nat previous_ticks = 0; /* ticks in previous intervals */ -nat current_ticks = 0; /* ticks in current interval */ - -void -initProfTimer(nat ms) -{ - if (initialize_virtual_timer(ms)) { - fflush(stdout); - fprintf(stderr, "Can't initialize virtual timer.\n"); - stg_exit(EXIT_FAILURE); - } -}; +rtsBool do_prof_ticks = rtsFalse; /* enable profiling ticks */ void stopProfTimer(void) { /* Stops time profile */ - if (time_profiling) { - initProfTimer(0); - } + if (time_profiling) { + do_prof_ticks = rtsFalse; + } }; void startProfTimer(void) { /* Starts time profile */ - if (time_profiling) { - initProfTimer(TICK_MILLISECS); - } + if (time_profiling) { + do_prof_ticks = rtsTrue; + } }; void handleProfTick(void) { - CCS_TICK(CCCS); - total_ticks++; -}; - + if (do_prof_ticks) { + CCS_TICK(CCCS); + } +} #endif /* PROFILING */