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