eventq.hh (10905:a6ca6831e775) eventq.hh (10906:3ab1d7ed6545)
1/*
2 * Copyright (c) 2000-2005 The Regents of The University of Michigan
3 * Copyright (c) 2013 Advanced Micro Devices, Inc.
4 * Copyright (c) 2013 Mark D. Hill and David A. Wood
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are

--- 338 unchanged lines hidden (view full) ---

347 //! If this is part of a GlobalEvent, return the pointer to the
348 //! Global Event. By default, there is no GlobalEvent, so return
349 //! NULL. (Overridden in GlobalEvent::BarrierEvent.)
350 virtual BaseGlobalEvent *globalEvent() { return NULL; }
351
352#ifndef SWIG
353 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
354 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
1/*
2 * Copyright (c) 2000-2005 The Regents of The University of Michigan
3 * Copyright (c) 2013 Advanced Micro Devices, Inc.
4 * Copyright (c) 2013 Mark D. Hill and David A. Wood
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are

--- 338 unchanged lines hidden (view full) ---

347 //! If this is part of a GlobalEvent, return the pointer to the
348 //! Global Event. By default, there is no GlobalEvent, so return
349 //! NULL. (Overridden in GlobalEvent::BarrierEvent.)
350 virtual BaseGlobalEvent *globalEvent() { return NULL; }
351
352#ifndef SWIG
353 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
354 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
355
356 //! This function is required to support restoring from checkpoints
357 //! when running with multiple queues. Since we still have not thrashed
358 //! out all the details on checkpointing, this function is most likely
359 //! to be revisited in future.
360 virtual void unserializeEvent(CheckpointIn &cp, EventQueue *eventq);
361#endif
362};
363
364#ifndef SWIG
365inline bool
366operator<(const Event &l, const Event &r)
367{
368 return l.when() < r.when() ||

--- 276 unchanged lines hidden (view full) ---

645 void unlock() { service_mutex.unlock(); }
646 /**@}*/
647
648#ifndef SWIG
649 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
650 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
651#endif
652
355#endif
356};
357
358#ifndef SWIG
359inline bool
360operator<(const Event &l, const Event &r)
361{
362 return l.when() < r.when() ||

--- 276 unchanged lines hidden (view full) ---

639 void unlock() { service_mutex.unlock(); }
640 /**@}*/
641
642#ifndef SWIG
643 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
644 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
645#endif
646
647 /**
648 * Reschedule an event after a checkpoint.
649 *
650 * Since events don't know which event queue they belong to,
651 * parent objects need to reschedule events themselves. This
652 * method conditionally schedules an event that has the Scheduled
653 * flag set. It should be called by parent objects after
654 * unserializing an object.
655 *
656 * @warn Only use this method after unserializing an Event.
657 */
658 void checkpointReschedule(Event *event);
659
653 virtual ~EventQueue() { }
654};
655
656void dumpMainQueue();
657
658#ifndef SWIG
659class EventManager
660{

--- 113 unchanged lines hidden ---
660 virtual ~EventQueue() { }
661};
662
663void dumpMainQueue();
664
665#ifndef SWIG
666class EventManager
667{

--- 113 unchanged lines hidden ---