diff options
author | Zack Weinberg <zack@wolery.cumb.org> | 2000-09-06 07:02:40 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2000-09-06 07:02:40 +0000 |
commit | eab828ba9339c3c3730daf0b02e9ab40b20211cd (patch) | |
tree | 0d040b9869b04e0a6f18aecb15ab1dc0279df379 | |
parent | f1d6a533e68da59ef6390623e2ce5c42ed976afd (diff) | |
download | gcc-eab828ba9339c3c3730daf0b02e9ab40b20211cd.zip gcc-eab828ba9339c3c3730daf0b02e9ab40b20211cd.tar.gz gcc-eab828ba9339c3c3730daf0b02e9ab40b20211cd.tar.bz2 |
timevar.c (timevar_add): Delete.
* timevar.c (timevar_add): Delete.
(timevar_get): Also count time since the selected timer was
last updated. Do not examine the timevar stack if the
selected timer is standalone.
From-SVN: r36184
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/timevar.c | 34 |
2 files changed, 19 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 20cb2f0..ee72cc1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2000-09-06 Zack Weinberg <zack@wolery.cumb.org> + + * timevar.c (timevar_add): Delete. + (timevar_get): Also count time since the selected timer was + last updated. Do not examine the timevar stack if the + selected timer is standalone. + 2000-09-05 J. David Anglin <dave@hiauly1.hia.nrc.ca> * gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend. diff --git a/gcc/timevar.c b/gcc/timevar.c index 5a79fa7..cce106a 100644 --- a/gcc/timevar.c +++ b/gcc/timevar.c @@ -95,8 +95,6 @@ static struct timevar_time_def start_time; static void get_time PARAMS ((struct timevar_time_def *)); -static void timevar_add - PARAMS ((struct timevar_time_def *, struct timevar_time_def *)); static void timevar_accumulate PARAMS ((struct timevar_time_def *, struct timevar_time_def *, struct timevar_time_def *)); @@ -197,18 +195,6 @@ get_time (now) #endif /* __BEOS__ */ } -/* Add ELAPSED to TIMER. */ - -static void -timevar_add (timer, elapsed) - struct timevar_time_def *timer; - struct timevar_time_def *elapsed; -{ - timer->user += elapsed->user; - timer->sys += elapsed->sys; - timer->wall += elapsed->wall; -} - /* Add the difference between STOP_TIME and START_TIME to TIMER. */ static void @@ -387,18 +373,22 @@ timevar_get (timevar, elapsed) struct timevar_time_def *elapsed; { struct timevar_def *tv = &timevars[timevar]; + struct timevar_time_def now; *elapsed = tv->elapsed; - + /* Is TIMEVAR currently running as a standalone timer? */ if (tv->standalone) - /* Add the time elapsed since the it was started. */ - timevar_add (elapsed, &tv->start_time); - - /* Is TIMEVAR at the top of the timer stack? */ - if (stack->timevar == tv) - /* Add the elapsed time since it was pushed. */ - timevar_add (elapsed, &start_time); + { + get_time (&now); + timevar_accumulate (elapsed, &tv->start_time, &now); + } + /* Or is TIMEVAR at the top of the timer stack? */ + else if (stack->timevar == tv) + { + get_time (&now); + timevar_accumulate (elapsed, &start_time, &now); + } } /* Summarize timing variables to FP. The timing variable TV_TOTAL has |