Deleted Added
sdiff udiff text old ( 13176:76f52e8d8c6a ) new ( 13182:9e030f636a8c )
full compact
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

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

328 void schedulePause();
329 void scheduleStop(bool finish_delta);
330
331 bool paused() { return _paused; }
332 bool stopped() { return _stopped; }
333
334 uint64_t changeStamp() { return _changeStamp; }
335
336 private:
337 typedef const EventBase::Priority Priority;
338 static Priority DefaultPriority = EventBase::Default_Pri;
339
340 static Priority StopPriority = DefaultPriority - 1;
341 static Priority PausePriority = DefaultPriority + 1;
342 static Priority MaxTickPriority = DefaultPriority + 2;
343 static Priority ReadyPriority = DefaultPriority + 3;

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

372 void runReady();
373 EventWrapper<Scheduler, &Scheduler::runReady> readyEvent;
374 void scheduleReadyEvent();
375
376 void pause();
377 void stop();
378 EventWrapper<Scheduler, &Scheduler::pause> pauseEvent;
379 EventWrapper<Scheduler, &Scheduler::stop> stopEvent;
380 Fiber *scMain;
381
382 bool
383 starved()
384 {
385 return (readyListMethods.empty() && readyListThreads.empty() &&
386 updateList.empty() && deltas.empty() &&
387 (timeSlots.empty() || timeSlots.begin()->first > maxTick) &&
388 initList.empty());

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

432inline void
433Scheduler::TimeSlot::process()
434{
435 while (!events.empty())
436 events.front()->run();
437 scheduler.completeTimeSlot(this);
438}
439
440} // namespace sc_gem5
441
442#endif // __SYSTEMC_CORE_SCHEDULER_H__