112837Sgabeblack@google.com/* 212837Sgabeblack@google.com * Copyright 2018 Google, Inc. 312837Sgabeblack@google.com * 412837Sgabeblack@google.com * Redistribution and use in source and binary forms, with or without 512837Sgabeblack@google.com * modification, are permitted provided that the following conditions are 612837Sgabeblack@google.com * met: redistributions of source code must retain the above copyright 712837Sgabeblack@google.com * notice, this list of conditions and the following disclaimer; 812837Sgabeblack@google.com * redistributions in binary form must reproduce the above copyright 912837Sgabeblack@google.com * notice, this list of conditions and the following disclaimer in the 1012837Sgabeblack@google.com * documentation and/or other materials provided with the distribution; 1112837Sgabeblack@google.com * neither the name of the copyright holders nor the names of its 1212837Sgabeblack@google.com * contributors may be used to endorse or promote products derived from 1312837Sgabeblack@google.com * this software without specific prior written permission. 1412837Sgabeblack@google.com * 1512837Sgabeblack@google.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1612837Sgabeblack@google.com * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1712837Sgabeblack@google.com * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1812837Sgabeblack@google.com * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1912837Sgabeblack@google.com * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2012837Sgabeblack@google.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2112837Sgabeblack@google.com * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2212837Sgabeblack@google.com * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2312837Sgabeblack@google.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2412837Sgabeblack@google.com * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2512837Sgabeblack@google.com * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2612837Sgabeblack@google.com * 2712837Sgabeblack@google.com * Authors: Gabe Black 2812837Sgabeblack@google.com */ 2912837Sgabeblack@google.com 3012955Sgabeblack@google.com#include "systemc/core/event.hh" 3112837Sgabeblack@google.com#include "systemc/ext/core/sc_event.hh" 3213279Sgabeblack@google.com#include "systemc/ext/core/sc_module.hh" 3312837Sgabeblack@google.com 3412837Sgabeblack@google.comnamespace sc_core 3512837Sgabeblack@google.com{ 3612837Sgabeblack@google.com 3712955Sgabeblack@google.com 3812955Sgabeblack@google.com/* 3912955Sgabeblack@google.com * sc_event_and_list 4012955Sgabeblack@google.com */ 4112955Sgabeblack@google.com 4212955Sgabeblack@google.comsc_event_and_list::sc_event_and_list() : autoDelete(false), busy(0) {} 4312955Sgabeblack@google.com 4412955Sgabeblack@google.comsc_event_and_list::sc_event_and_list(const sc_event_and_list &eal) : 4512955Sgabeblack@google.com events(eal.events), autoDelete(false), busy(0) 4612955Sgabeblack@google.com{} 4712955Sgabeblack@google.com 4812955Sgabeblack@google.comsc_event_and_list::sc_event_and_list(const sc_event &e) : sc_event_and_list() 4912837Sgabeblack@google.com{ 5012955Sgabeblack@google.com insert(e); 5112837Sgabeblack@google.com} 5212837Sgabeblack@google.com 5312955Sgabeblack@google.comsc_event_and_list::sc_event_and_list(bool auto_delete) : 5412955Sgabeblack@google.com autoDelete(auto_delete), busy(0) 5512955Sgabeblack@google.com{} 5612837Sgabeblack@google.com 5712955Sgabeblack@google.comsc_event_and_list::~sc_event_and_list() {} 5812837Sgabeblack@google.com 5912837Sgabeblack@google.comsc_event_and_list & 6012955Sgabeblack@google.comsc_event_and_list::operator = (const sc_event_and_list &eal) 6112837Sgabeblack@google.com{ 6212955Sgabeblack@google.com events = eal.events; 6312837Sgabeblack@google.com return *this; 6412837Sgabeblack@google.com} 6512837Sgabeblack@google.com 6612837Sgabeblack@google.comint 6712837Sgabeblack@google.comsc_event_and_list::size() const 6812837Sgabeblack@google.com{ 6912955Sgabeblack@google.com return events.size(); 7012837Sgabeblack@google.com} 7112837Sgabeblack@google.com 7212837Sgabeblack@google.comvoid 7312955Sgabeblack@google.comsc_event_and_list::swap(sc_event_and_list &eal) 7412837Sgabeblack@google.com{ 7512955Sgabeblack@google.com events.swap(eal.events); 7612837Sgabeblack@google.com} 7712837Sgabeblack@google.com 7812837Sgabeblack@google.comsc_event_and_list & 7912955Sgabeblack@google.comsc_event_and_list::operator &= (const sc_event &e) 8012837Sgabeblack@google.com{ 8112955Sgabeblack@google.com insert(e); 8212837Sgabeblack@google.com return *this; 8312837Sgabeblack@google.com} 8412837Sgabeblack@google.com 8512837Sgabeblack@google.comsc_event_and_list & 8612955Sgabeblack@google.comsc_event_and_list::operator &= (const sc_event_and_list &eal) 8712837Sgabeblack@google.com{ 8812955Sgabeblack@google.com insert(eal); 8912837Sgabeblack@google.com return *this; 9012837Sgabeblack@google.com} 9112837Sgabeblack@google.com 9212837Sgabeblack@google.comsc_event_and_expr 9312955Sgabeblack@google.comsc_event_and_list::operator & (const sc_event &e) const 9412837Sgabeblack@google.com{ 9512955Sgabeblack@google.com sc_event_and_expr expr; 9612955Sgabeblack@google.com expr.insert(*this); 9712955Sgabeblack@google.com expr.insert(e); 9812955Sgabeblack@google.com return expr; 9912837Sgabeblack@google.com} 10012837Sgabeblack@google.com 10112837Sgabeblack@google.comsc_event_and_expr 10213406Sgabeblack@google.comsc_event_and_list::operator & (const sc_event_and_list &eal) const 10312837Sgabeblack@google.com{ 10412955Sgabeblack@google.com sc_event_and_expr expr; 10512955Sgabeblack@google.com expr.insert(*this); 10612955Sgabeblack@google.com expr.insert(eal); 10712955Sgabeblack@google.com return expr; 10812837Sgabeblack@google.com} 10912837Sgabeblack@google.com 11012955Sgabeblack@google.comvoid 11112955Sgabeblack@google.comsc_event_and_list::insert(sc_event const &e) 11212837Sgabeblack@google.com{ 11312955Sgabeblack@google.com events.insert(&e); 11412837Sgabeblack@google.com} 11512837Sgabeblack@google.com 11612955Sgabeblack@google.comvoid 11712955Sgabeblack@google.comsc_event_and_list::insert(sc_event_and_list const &eal) 11812837Sgabeblack@google.com{ 11912955Sgabeblack@google.com events.insert(eal.events.begin(), eal.events.end()); 12012837Sgabeblack@google.com} 12112837Sgabeblack@google.com 12212955Sgabeblack@google.com 12312955Sgabeblack@google.com/* 12412955Sgabeblack@google.com * sc_event_or_list 12512955Sgabeblack@google.com */ 12612955Sgabeblack@google.com 12712955Sgabeblack@google.comsc_event_or_list::sc_event_or_list() : autoDelete(false), busy(0) {} 12812955Sgabeblack@google.com 12912955Sgabeblack@google.comsc_event_or_list::sc_event_or_list(const sc_event_or_list &eol) : 13012955Sgabeblack@google.com events(eol.events), autoDelete(false), busy(0) 13112955Sgabeblack@google.com{} 13212955Sgabeblack@google.com 13312955Sgabeblack@google.comsc_event_or_list::sc_event_or_list(const sc_event &e) : sc_event_or_list() 13412837Sgabeblack@google.com{ 13512955Sgabeblack@google.com insert(e); 13612837Sgabeblack@google.com} 13712837Sgabeblack@google.com 13812955Sgabeblack@google.comsc_event_or_list::sc_event_or_list(bool auto_delete) : 13912955Sgabeblack@google.com autoDelete(auto_delete), busy(0) 14012955Sgabeblack@google.com{} 14112955Sgabeblack@google.com 14212955Sgabeblack@google.comsc_event_or_list & 14312955Sgabeblack@google.comsc_event_or_list::operator = (const sc_event_or_list &eol) 14412837Sgabeblack@google.com{ 14512955Sgabeblack@google.com events = eol.events; 14612837Sgabeblack@google.com return *this; 14712837Sgabeblack@google.com} 14812837Sgabeblack@google.com 14912955Sgabeblack@google.comsc_event_or_list::~sc_event_or_list() {} 15012837Sgabeblack@google.com 15112837Sgabeblack@google.comint 15212837Sgabeblack@google.comsc_event_or_list::size() const 15312837Sgabeblack@google.com{ 15412955Sgabeblack@google.com return events.size(); 15512837Sgabeblack@google.com} 15612837Sgabeblack@google.com 15712837Sgabeblack@google.comvoid 15812955Sgabeblack@google.comsc_event_or_list::swap(sc_event_or_list &eol) 15912837Sgabeblack@google.com{ 16012955Sgabeblack@google.com events.swap(eol.events); 16112837Sgabeblack@google.com} 16212837Sgabeblack@google.com 16312837Sgabeblack@google.comsc_event_or_list & 16412955Sgabeblack@google.comsc_event_or_list::operator |= (const sc_event &e) 16512837Sgabeblack@google.com{ 16612955Sgabeblack@google.com insert(e); 16712837Sgabeblack@google.com return *this; 16812837Sgabeblack@google.com} 16912837Sgabeblack@google.com 17012837Sgabeblack@google.comsc_event_or_list & 17112955Sgabeblack@google.comsc_event_or_list::operator |= (const sc_event_or_list &eol) 17212837Sgabeblack@google.com{ 17312955Sgabeblack@google.com insert(eol); 17412837Sgabeblack@google.com return *this; 17512837Sgabeblack@google.com} 17612837Sgabeblack@google.com 17712837Sgabeblack@google.comsc_event_or_expr 17812955Sgabeblack@google.comsc_event_or_list::operator | (const sc_event &e) const 17912837Sgabeblack@google.com{ 18012955Sgabeblack@google.com sc_event_or_expr expr; 18112955Sgabeblack@google.com expr.insert(*this); 18212955Sgabeblack@google.com expr.insert(e); 18312955Sgabeblack@google.com return expr; 18412837Sgabeblack@google.com} 18512837Sgabeblack@google.com 18612837Sgabeblack@google.comsc_event_or_expr 18712955Sgabeblack@google.comsc_event_or_list::operator | (const sc_event_or_list &eol) const 18812837Sgabeblack@google.com{ 18912955Sgabeblack@google.com sc_event_or_expr expr; 19012955Sgabeblack@google.com expr.insert(*this); 19112955Sgabeblack@google.com expr.insert(eol); 19212955Sgabeblack@google.com return expr; 19312955Sgabeblack@google.com} 19412955Sgabeblack@google.com 19512955Sgabeblack@google.comvoid 19612955Sgabeblack@google.comsc_event_or_list::insert(sc_event const &e) 19712955Sgabeblack@google.com{ 19812955Sgabeblack@google.com events.insert(&e); 19912955Sgabeblack@google.com} 20012955Sgabeblack@google.com 20112955Sgabeblack@google.comvoid 20212955Sgabeblack@google.comsc_event_or_list::insert(sc_event_or_list const &eol) 20312955Sgabeblack@google.com{ 20412955Sgabeblack@google.com events.insert(eol.events.begin(), eol.events.end()); 20512955Sgabeblack@google.com} 20612955Sgabeblack@google.com 20712955Sgabeblack@google.com 20812955Sgabeblack@google.com/* 20912955Sgabeblack@google.com * sc_event_and_expr 21012955Sgabeblack@google.com */ 21112955Sgabeblack@google.com 21212955Sgabeblack@google.com// Move semantics 21312955Sgabeblack@google.comsc_event_and_expr::sc_event_and_expr(sc_event_and_expr const &e) : 21412955Sgabeblack@google.com list(e.list) 21512955Sgabeblack@google.com{ 21612955Sgabeblack@google.com e.list = nullptr; 21712837Sgabeblack@google.com} 21812837Sgabeblack@google.com 21912837Sgabeblack@google.comsc_event_and_expr::operator const sc_event_and_list &() const 22012837Sgabeblack@google.com{ 22112955Sgabeblack@google.com sc_event_and_list *temp = list; 22212955Sgabeblack@google.com list = nullptr; 22312955Sgabeblack@google.com return *temp; 22412837Sgabeblack@google.com} 22512837Sgabeblack@google.com 22612955Sgabeblack@google.comvoid 22712955Sgabeblack@google.comsc_event_and_expr::insert(sc_event const &e) const 22812955Sgabeblack@google.com{ 22912955Sgabeblack@google.com assert(list); 23012955Sgabeblack@google.com list->insert(e); 23112955Sgabeblack@google.com} 23212955Sgabeblack@google.com 23312955Sgabeblack@google.comvoid 23412955Sgabeblack@google.comsc_event_and_expr::insert(sc_event_and_list const &eal) const 23512955Sgabeblack@google.com{ 23612955Sgabeblack@google.com assert(list); 23712955Sgabeblack@google.com list->insert(eal); 23812955Sgabeblack@google.com} 23912955Sgabeblack@google.com 24012955Sgabeblack@google.comsc_event_and_expr::~sc_event_and_expr() { delete list; } 24112955Sgabeblack@google.com 24212955Sgabeblack@google.comsc_event_and_expr::sc_event_and_expr() : list(new sc_event_and_list(true)) {} 24312955Sgabeblack@google.com 24412837Sgabeblack@google.comsc_event_and_expr 24512955Sgabeblack@google.comoperator & (sc_event_and_expr expr, sc_event const &e) 24612837Sgabeblack@google.com{ 24712955Sgabeblack@google.com expr.insert(e); 24812837Sgabeblack@google.com return expr; 24912837Sgabeblack@google.com} 25012837Sgabeblack@google.com 25112837Sgabeblack@google.comsc_event_and_expr 25212955Sgabeblack@google.comoperator & (sc_event_and_expr expr, sc_event_and_list const &eal) 25312837Sgabeblack@google.com{ 25412955Sgabeblack@google.com expr.insert(eal); 25512837Sgabeblack@google.com return expr; 25612837Sgabeblack@google.com} 25712837Sgabeblack@google.com 25812955Sgabeblack@google.com 25912955Sgabeblack@google.com/* 26012955Sgabeblack@google.com * sc_event_or_expr 26112955Sgabeblack@google.com */ 26212955Sgabeblack@google.com 26312955Sgabeblack@google.com// Move semantics 26412955Sgabeblack@google.comsc_event_or_expr::sc_event_or_expr(sc_event_or_expr const &e) : 26512955Sgabeblack@google.com list(e.list) 26612955Sgabeblack@google.com{ 26712955Sgabeblack@google.com e.list = nullptr; 26812955Sgabeblack@google.com} 26912955Sgabeblack@google.com 27012837Sgabeblack@google.comsc_event_or_expr::operator const sc_event_or_list &() const 27112837Sgabeblack@google.com{ 27212955Sgabeblack@google.com sc_event_or_list *temp = list; 27312955Sgabeblack@google.com list = NULL; 27412955Sgabeblack@google.com return *temp; 27512837Sgabeblack@google.com} 27612837Sgabeblack@google.com 27712955Sgabeblack@google.comvoid 27812955Sgabeblack@google.comsc_event_or_expr::insert(sc_event const &e) const 27912955Sgabeblack@google.com{ 28012955Sgabeblack@google.com assert(list); 28112955Sgabeblack@google.com list->insert(e); 28212955Sgabeblack@google.com} 28312955Sgabeblack@google.com 28412955Sgabeblack@google.comvoid 28512955Sgabeblack@google.comsc_event_or_expr::insert(sc_event_or_list const &eol) const 28612955Sgabeblack@google.com{ 28712955Sgabeblack@google.com assert(list); 28812955Sgabeblack@google.com list->insert(eol); 28912955Sgabeblack@google.com} 29012955Sgabeblack@google.com 29112955Sgabeblack@google.comsc_event_or_expr::~sc_event_or_expr() { delete list; } 29212955Sgabeblack@google.com 29312955Sgabeblack@google.comsc_event_or_expr::sc_event_or_expr() : list(new sc_event_or_list(true)) {} 29412955Sgabeblack@google.com 29512837Sgabeblack@google.comsc_event_or_expr 29612955Sgabeblack@google.comoperator | (sc_event_or_expr expr, sc_event const &e) 29712837Sgabeblack@google.com{ 29812955Sgabeblack@google.com expr.insert(e); 29912837Sgabeblack@google.com return expr; 30012837Sgabeblack@google.com} 30112837Sgabeblack@google.com 30212837Sgabeblack@google.comsc_event_or_expr 30312955Sgabeblack@google.comoperator | (sc_event_or_expr expr, sc_event_or_list const &eol) 30412837Sgabeblack@google.com{ 30512955Sgabeblack@google.com expr.insert(eol); 30612837Sgabeblack@google.com return expr; 30712837Sgabeblack@google.com} 30812837Sgabeblack@google.com 30912837Sgabeblack@google.com 31012955Sgabeblack@google.com/* 31112955Sgabeblack@google.com * sc_event 31212955Sgabeblack@google.com */ 31312837Sgabeblack@google.com 31413279Sgabeblack@google.comsc_event::sc_event() : 31513279Sgabeblack@google.com _gem5_event(new ::sc_gem5::Event( 31613279Sgabeblack@google.com this, sc_core::sc_gen_unique_name("event"))) 31713279Sgabeblack@google.com{} 31812837Sgabeblack@google.com 31912955Sgabeblack@google.comsc_event::sc_event(const char *_name) : 32012955Sgabeblack@google.com _gem5_event(new ::sc_gem5::Event(this, _name)) 32112955Sgabeblack@google.com{} 32212837Sgabeblack@google.com 32312955Sgabeblack@google.comsc_event::~sc_event() { delete _gem5_event; } 32412955Sgabeblack@google.com 32512955Sgabeblack@google.comconst char *sc_event::name() const { return _gem5_event->name().c_str(); } 32612837Sgabeblack@google.comconst char * 32712837Sgabeblack@google.comsc_event::basename() const 32812837Sgabeblack@google.com{ 32912955Sgabeblack@google.com return _gem5_event->basename().c_str(); 33012837Sgabeblack@google.com} 33112955Sgabeblack@google.combool sc_event::in_hierarchy() const { return _gem5_event->inHierarchy(); } 33212837Sgabeblack@google.com 33312837Sgabeblack@google.comsc_object * 33412837Sgabeblack@google.comsc_event::get_parent_object() const 33512837Sgabeblack@google.com{ 33612955Sgabeblack@google.com return _gem5_event->getParentObject(); 33712837Sgabeblack@google.com} 33812837Sgabeblack@google.com 33912955Sgabeblack@google.comvoid sc_event::notify() { _gem5_event->notify(); } 34012955Sgabeblack@google.comvoid sc_event::notify(const sc_time &t) { _gem5_event->notify(t); } 34112955Sgabeblack@google.comvoid sc_event::notify(double d, sc_time_unit u) { _gem5_event->notify(d, u); } 34212955Sgabeblack@google.comvoid sc_event::cancel() { _gem5_event->cancel(); } 34312955Sgabeblack@google.combool sc_event::triggered() const { return _gem5_event->triggered(); } 34413299Sgabeblack@google.comvoid 34513299Sgabeblack@google.comsc_event::notify_delayed() 34613299Sgabeblack@google.com{ 34713299Sgabeblack@google.com _gem5_event->notifyDelayed(SC_ZERO_TIME); 34813299Sgabeblack@google.com} 34913299Sgabeblack@google.comvoid 35013299Sgabeblack@google.comsc_event::notify_delayed(const sc_time &t) 35113299Sgabeblack@google.com{ 35213299Sgabeblack@google.com _gem5_event->notifyDelayed(t); 35313299Sgabeblack@google.com} 35412955Sgabeblack@google.com 35512955Sgabeblack@google.comsc_event_and_expr 35612955Sgabeblack@google.comsc_event::operator & (const sc_event &e) const 35712837Sgabeblack@google.com{ 35812955Sgabeblack@google.com sc_event_and_expr expr; 35912955Sgabeblack@google.com expr.insert(*this); 36012955Sgabeblack@google.com expr.insert(e); 36112955Sgabeblack@google.com return expr; 36212915Sgabeblack@google.com} 36312915Sgabeblack@google.com 36412837Sgabeblack@google.comsc_event_and_expr 36512955Sgabeblack@google.comsc_event::operator & (const sc_event_and_list &eal) const 36612837Sgabeblack@google.com{ 36712955Sgabeblack@google.com sc_event_and_expr expr; 36812955Sgabeblack@google.com expr.insert(*this); 36912955Sgabeblack@google.com expr.insert(eal); 37012955Sgabeblack@google.com return expr; 37112837Sgabeblack@google.com} 37212837Sgabeblack@google.com 37312837Sgabeblack@google.comsc_event_or_expr 37412955Sgabeblack@google.comsc_event::operator | (const sc_event &e) const 37512837Sgabeblack@google.com{ 37612955Sgabeblack@google.com sc_event_or_expr expr; 37712955Sgabeblack@google.com expr.insert(*this); 37812955Sgabeblack@google.com expr.insert(e); 37912955Sgabeblack@google.com return expr; 38012837Sgabeblack@google.com} 38112837Sgabeblack@google.com 38212837Sgabeblack@google.comsc_event_or_expr 38312955Sgabeblack@google.comsc_event::operator | (const sc_event_or_list &eol) const 38412837Sgabeblack@google.com{ 38512955Sgabeblack@google.com sc_event_or_expr expr; 38612955Sgabeblack@google.com expr.insert(*this); 38712955Sgabeblack@google.com expr.insert(eol); 38812955Sgabeblack@google.com return expr; 38912837Sgabeblack@google.com} 39012837Sgabeblack@google.com 39113303Sgabeblack@google.comsc_event::sc_event(bool) : 39213303Sgabeblack@google.com _gem5_event(new ::sc_gem5::Event( 39313303Sgabeblack@google.com this, sc_core::sc_gen_unique_name( 39413303Sgabeblack@google.com "$$$internal kernel event$$$"), true)) 39513303Sgabeblack@google.com{} 39613303Sgabeblack@google.com 39713303Sgabeblack@google.comsc_event::sc_event(bool, const char *_name) : 39813303Sgabeblack@google.com _gem5_event(new ::sc_gem5::Event( 39913303Sgabeblack@google.com this, 40013303Sgabeblack@google.com (std::string("$$$internal kernel event$$$") + _name).c_str(), 40113303Sgabeblack@google.com true)) 40213303Sgabeblack@google.com{} 40313303Sgabeblack@google.com 40412837Sgabeblack@google.comconst std::vector<sc_event *> & 40512837Sgabeblack@google.comsc_get_top_level_events() 40612837Sgabeblack@google.com{ 40712955Sgabeblack@google.com return ::sc_gem5::topLevelEvents; 40812837Sgabeblack@google.com} 40912837Sgabeblack@google.com 41012837Sgabeblack@google.comsc_event * 41112955Sgabeblack@google.comsc_find_event(const char *name) 41212837Sgabeblack@google.com{ 41312955Sgabeblack@google.com std::string str(name); 41412955Sgabeblack@google.com ::sc_gem5::EventsIt it = ::sc_gem5::findEvent(str); 41512955Sgabeblack@google.com return it == ::sc_gem5::allEvents.end() ? nullptr : *it; 41612837Sgabeblack@google.com} 41712837Sgabeblack@google.com 41812837Sgabeblack@google.com} // namespace sc_core 41913303Sgabeblack@google.com 42013303Sgabeblack@google.comnamespace sc_gem5 42113303Sgabeblack@google.com{ 42213303Sgabeblack@google.com 42313303Sgabeblack@google.comInternalScEvent::InternalScEvent() : sc_event(true) {} 42413303Sgabeblack@google.comInternalScEvent::InternalScEvent(const char *_name) : sc_event(true, _name) {} 42513303Sgabeblack@google.com 42613303Sgabeblack@google.com} // namespace sc_gem5 427