From: Nathan Binkert Date: Wed, 24 Mar 2004 09:35:48 +0000 (-0500) Subject: Minor changes to Time X-Git-Tag: m5_1.0_beta2~71 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2484aeaee7004f7b8c128cf58e08c9b676fc08e6;p=gem5.git Minor changes to Time base/time.cc: base/time.hh: Don't set the current time in the constructor. Use a flag and make the default to not set the time. Change reset() to set(). Dunno. Just seems right. --HG-- extra : convert_revision : 5a3b09ed30376d4863b45b2bae551ba1c3aff8e1 --- diff --git a/base/time.cc b/base/time.cc index d2e8f60a5..9a484a883 100644 --- a/base/time.cc +++ b/base/time.cc @@ -47,10 +47,11 @@ convert(const timeval &tv) return (double)tv.tv_sec + (double)tv.tv_usec / 1000000.0; } -Time::Time() +Time::Time(bool set_now) { time = new _timeval; - ::gettimeofday(&time->tv, NULL); + if (set_now) + set(); } Time::Time(const timeval &val) @@ -77,15 +78,15 @@ Time::get() const } void -Time::set(const timeval &tv) +Time::set() { - memcpy(&time->tv, &tv, sizeof(timeval)); + ::gettimeofday(&time->tv, NULL); } void -Time::reset() +Time::set(const timeval &tv) { - ::gettimeofday(&time->tv, NULL); + memcpy(&time->tv, &tv, sizeof(timeval)); } double @@ -127,4 +128,4 @@ operator-(const Time &l, const Time &r) return tv; } -const Time Time::start; +const Time Time::start(true); diff --git a/base/time.hh b/base/time.hh index 64da52e1d..1f8c7e747 100644 --- a/base/time.hh +++ b/base/time.hh @@ -42,15 +42,15 @@ class Time mutable _timeval *time; public: - Time(); + explicit Time(bool set_now = false); Time(const timeval &val); Time(const Time &val); ~Time(); + void set(); const timeval &get() const; void set(const timeval &val); - void reset(); double operator()() const; std::string date(std::string format = "") const;