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 --- |