diff options
author | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-08-20 11:46:13 -0700 |
---|---|---|
committer | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-08-20 11:46:13 -0700 |
commit | ac5bb214e3dd8ba91feebd9c50ae7d3d9028668c (patch) | |
tree | 989714d71d1c9a7e20162264ef20abcebee3cbda /src/mem | |
parent | 72044e3f5a5b9455e07180806793127be2014451 (diff) | |
download | gem5-ac5bb214e3dd8ba91feebd9c50ae7d3d9028668c.tar.xz |
ruby: Reset ruby stats in RubySystem unserialize
The main purpose for clearing stats in the unserialize process is so
that the profiler can correctly set its start time to the unserialized
value of curTick.
Diffstat (limited to 'src/mem')
-rw-r--r-- | src/mem/ruby/system/System.cc | 17 | ||||
-rw-r--r-- | src/mem/ruby/system/System.hh | 3 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/mem/ruby/system/System.cc b/src/mem/ruby/system/System.cc index 801b2a3e9..a6d0d87d6 100644 --- a/src/mem/ruby/system/System.cc +++ b/src/mem/ruby/system/System.cc @@ -148,6 +148,23 @@ RubySystem::printStats(ostream& out) } void +RubySystem::serialize(std::ostream &os) +{ + +} + +void +RubySystem::unserialize(Checkpoint *cp, const string §ion) +{ + // + // The main purpose for clearing stats in the unserialize process is so + // that the profiler can correctly set its start time to the unserialized + // value of curTick + // + clearStats(); +} + +void RubySystem::clearStats() const { m_profiler_ptr->clearStats(); diff --git a/src/mem/ruby/system/System.hh b/src/mem/ruby/system/System.hh index 77b056faf..608aca1d8 100644 --- a/src/mem/ruby/system/System.hh +++ b/src/mem/ruby/system/System.hh @@ -125,6 +125,9 @@ class RubySystem : public SimObject void print(std::ostream& out) const; + virtual void serialize(std::ostream &os); + virtual void unserialize(Checkpoint *cp, const std::string §ion); + private: // Private copy constructor and assignment operator RubySystem(const RubySystem& obj); |