diff -r 692bb7c10394 -r 3f0470977de4 src/sim/sim_events.hh --- a/src/sim/sim_events.hh Wed Aug 19 15:37:41 2015 +0100 +++ b/src/sim/sim_events.hh Wed Aug 19 15:37:50 2015 +0100 @@ -63,7 +63,7 @@ // non-scheduling version for createForUnserialize() GlobalSimLoopExitEvent(); GlobalSimLoopExitEvent(Tick when, const std::string &_cause, int c, - Tick repeat = 0, bool serialize = false); + Tick repeat = 0); const std::string getCause() const { return cause; } const int getCode() const { return code; } @@ -83,8 +83,7 @@ public: LocalSimLoopExitEvent(); - LocalSimLoopExitEvent(const std::string &_cause, int c, Tick repeat = 0, - bool serialize = false); + LocalSimLoopExitEvent(const std::string &_cause, int c, Tick repeat = 0); const std::string getCause() const { return cause; } const int getCode() const { return code; } diff -r 692bb7c10394 -r 3f0470977de4 src/sim/sim_events.cc --- a/src/sim/sim_events.cc Wed Aug 19 15:37:41 2015 +0100 +++ b/src/sim/sim_events.cc Wed Aug 19 15:37:50 2015 +0100 @@ -55,9 +55,8 @@ GlobalSimLoopExitEvent::GlobalSimLoopExitEvent(Tick when, const std::string &_cause, - int c, Tick r, bool serialize) - : GlobalEvent(when, Sim_Exit_Pri, - IsExitEvent | (serialize ? AutoSerialize : 0)), + int c, Tick r) + : GlobalEvent(when, Sim_Exit_Pri, IsExitEvent), cause(_cause), code(c), repeat(r) { } @@ -83,19 +82,16 @@ exitSimLoop(const std::string &message, int exit_code, Tick when, Tick repeat, bool serialize) { - new GlobalSimLoopExitEvent(when + simQuantum, message, exit_code, repeat, - serialize); -} + warn_if(serialize && (when != curTick() || repeat), + "exitSimLoop called with a delay and auto serialization. This is " + "currently unsupported."); -LocalSimLoopExitEvent::LocalSimLoopExitEvent() - : Event(Sim_Exit_Pri, IsExitEvent | AutoSerialize), - cause(""), code(0), repeat(0) -{ + new GlobalSimLoopExitEvent(when + simQuantum, message, exit_code, repeat); } LocalSimLoopExitEvent::LocalSimLoopExitEvent(const std::string &_cause, int c, - Tick r, bool serialize) - : Event(Sim_Exit_Pri, IsExitEvent | (serialize ? AutoSerialize : 0)), + Tick r) + : Event(Sim_Exit_Pri, IsExitEvent), cause(_cause), code(c), repeat(r) { } @@ -119,7 +115,6 @@ void LocalSimLoopExitEvent::serialize(CheckpointOut &cp) const { - paramOut(cp, "type", string("SimLoopExitEvent")); Event::serialize(cp); SERIALIZE_SCALAR(cause); @@ -137,15 +132,6 @@ UNSERIALIZE_SCALAR(repeat); } -Serializable * -LocalSimLoopExitEvent::createForUnserialize(CheckpointIn &cp, - const string §ion) -{ - return new LocalSimLoopExitEvent(); -} - -REGISTER_SERIALIZEABLE("LocalSimLoopExitEvent", LocalSimLoopExitEvent) - // // constructor: automatically schedules at specified time //