scheduler.hh (13186:1ebc6c729311) scheduler.hh (13188:7af408b60cac)
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

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

452
453extern Scheduler scheduler;
454
455inline void
456Scheduler::TimeSlot::process()
457{
458 scheduler.status(StatusTiming);
459
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

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

452
453extern Scheduler scheduler;
454
455inline void
456Scheduler::TimeSlot::process()
457{
458 scheduler.status(StatusTiming);
459
460 while (!events.empty())
461 events.front()->run();
460 try {
461 while (!events.empty())
462 events.front()->run();
463 } catch (...) {
464 if (events.empty())
465 scheduler.completeTimeSlot(this);
466 else
467 scheduler.schedule(this);
468 scheduler.throwToScMain();
469 }
462
463 scheduler.status(StatusOther);
464 scheduler.completeTimeSlot(this);
465}
466
467const ::sc_core::sc_report *reportifyException();
468
469} // namespace sc_gem5
470
471#endif // __SYSTEMC_CORE_SCHEDULER_H__
470
471 scheduler.status(StatusOther);
472 scheduler.completeTimeSlot(this);
473}
474
475const ::sc_core::sc_report *reportifyException();
476
477} // namespace sc_gem5
478
479#endif // __SYSTEMC_CORE_SCHEDULER_H__