gem5-dev@gem5.org

The gem5 Developer List

View all threads

[S] Change in gem5/gem5[develop]: sim: Deprecate pointer version of MemberEventWrapper constructor

GB
Gabriel B. (Gerrit)
Mon, Mar 13, 2023 6:47 AM

Gabriel B. has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/67656?usp=email )

Change subject: sim: Deprecate pointer version of MemberEventWrapper
constructor
......................................................................

sim: Deprecate pointer version of MemberEventWrapper constructor

It makes no sense to initialize such event with nullptr. Favor the
reference version for safer behavior.

Change-Id: I695f41362a56aca98ceb52d49cf84be43f1465a2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67656
Reviewed-by: Daniel Carvalho odanrc@yahoo.com.br
Tested-by: kokoro noreply+kokoro@google.com
Maintainer: Daniel Carvalho odanrc@yahoo.com.br

M src/sim/eventq.hh
1 file changed, 10 insertions(+), 9 deletions(-)

Approvals:
Daniel Carvalho: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass

diff --git a/src/sim/eventq.hh b/src/sim/eventq.hh
index ff9d4bf..cf1734b 100644
--- a/src/sim/eventq.hh
+++ b/src/sim/eventq.hh
@@ -1095,16 +1095,12 @@
static_assert(std::is_same_v<MemberFunctionArgsTuple_t<F>,
std::tuple<>>);

public:

  • [[deprecated("Use reference version of this constructor instead")]]
    MemberEventWrapper(CLASS *object,
    bool del = false,
    Priority p = Default_Pri):
  •    Event(p),
    
  •    Named(object->name() + ".wrapped_event"),
    
  •    mObject(object)
    
  • {
  •    gem5_assert(mObject);
    
  •    if (del) setFlags(AutoDelete);
    
  • }
  •    MemberEventWrapper{*object, del, p}
    
  • {}

    /**

    • @brief Construct a new MemberEventWrapper object
      @@ -1116,8 +1112,13 @@
      MemberEventWrapper(CLASS &object,
      bool del = false,
      Priority p = Default_Pri):
  •    MemberEventWrapper(&object, del, p)
    
  • {}
  •    Event(p),
    
  •    Named(object.name() + ".wrapped_event"),
    
  •    mObject(&object)
    
  • {

  •    if (del) setFlags(AutoDelete);
    
  •    gem5_assert(mObject);
    
  • }

    void process() override {
        (mObject->*F)();
    

--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/67656?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I695f41362a56aca98ceb52d49cf84be43f1465a2
Gerrit-Change-Number: 67656
Gerrit-PatchSet: 4
Gerrit-Owner: Gabriel B. gabriel.busnot@arteris.com
Gerrit-Reviewer: Daniel Carvalho odanrc@yahoo.com.br
Gerrit-Reviewer: Gabriel B. gabriel.busnot@arteris.com
Gerrit-Reviewer: Jason Lowe-Power jason@lowepower.com
Gerrit-Reviewer: kokoro noreply+kokoro@google.com
Gerrit-MessageType: merged

Gabriel B. has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/67656?usp=email ) Change subject: sim: Deprecate pointer version of MemberEventWrapper constructor ...................................................................... sim: Deprecate pointer version of MemberEventWrapper constructor It makes no sense to initialize such event with nullptr. Favor the reference version for safer behavior. Change-Id: I695f41362a56aca98ceb52d49cf84be43f1465a2 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67656 Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br> Tested-by: kokoro <noreply+kokoro@google.com> Maintainer: Daniel Carvalho <odanrc@yahoo.com.br> --- M src/sim/eventq.hh 1 file changed, 10 insertions(+), 9 deletions(-) Approvals: Daniel Carvalho: Looks good to me, approved; Looks good to me, approved kokoro: Regressions pass diff --git a/src/sim/eventq.hh b/src/sim/eventq.hh index ff9d4bf..cf1734b 100644 --- a/src/sim/eventq.hh +++ b/src/sim/eventq.hh @@ -1095,16 +1095,12 @@ static_assert(std::is_same_v<MemberFunctionArgsTuple_t<F>, std::tuple<>>); public: + [[deprecated("Use reference version of this constructor instead")]] MemberEventWrapper(CLASS *object, bool del = false, Priority p = Default_Pri): - Event(p), - Named(object->name() + ".wrapped_event"), - mObject(object) - { - gem5_assert(mObject); - if (del) setFlags(AutoDelete); - } + MemberEventWrapper{*object, del, p} + {} /** * @brief Construct a new MemberEventWrapper object @@ -1116,8 +1112,13 @@ MemberEventWrapper(CLASS &object, bool del = false, Priority p = Default_Pri): - MemberEventWrapper(&object, del, p) - {} + Event(p), + Named(object.name() + ".wrapped_event"), + mObject(&object) + { + if (del) setFlags(AutoDelete); + gem5_assert(mObject); + } void process() override { (mObject->*F)(); -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/67656?usp=email To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-Project: public/gem5 Gerrit-Branch: develop Gerrit-Change-Id: I695f41362a56aca98ceb52d49cf84be43f1465a2 Gerrit-Change-Number: 67656 Gerrit-PatchSet: 4 Gerrit-Owner: Gabriel B. <gabriel.busnot@arteris.com> Gerrit-Reviewer: Daniel Carvalho <odanrc@yahoo.com.br> Gerrit-Reviewer: Gabriel B. <gabriel.busnot@arteris.com> Gerrit-Reviewer: Jason Lowe-Power <jason@lowepower.com> Gerrit-Reviewer: kokoro <noreply+kokoro@google.com> Gerrit-MessageType: merged