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