X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/da64c6383731d10c6174f81b4b6a20ff0ea186ae..7e625e5e848a284b522d69ec28cb111f1f88515b:/src/mc/transition/TransitionComm.hpp diff --git a/src/mc/transition/TransitionComm.hpp b/src/mc/transition/TransitionComm.hpp index cf51c18f76..1e9d0748cf 100644 --- a/src/mc/transition/TransitionComm.hpp +++ b/src/mc/transition/TransitionComm.hpp @@ -25,19 +25,17 @@ class CommWaitTransition : public Transition { unsigned mbox_; aid_t sender_; aid_t receiver_; - uintptr_t sbuff_; - uintptr_t rbuff_; - size_t size_; friend CommRecvTransition; friend CommSendTransition; friend CommTestTransition; public: CommWaitTransition(aid_t issuer, int times_considered, bool timeout_, unsigned comm_, aid_t sender_, aid_t receiver_, - unsigned mbox_, uintptr_t sbuff_, uintptr_t rbuff_, size_t size_); + unsigned mbox_); CommWaitTransition(aid_t issuer, int times_considered, std::stringstream& stream); std::string to_string(bool verbose) const override; bool depends(const Transition* other) const override; + bool reversible_race(const Transition* other) const override; bool get_timeout() const { return timeout_; } /** ID of the corresponding Communication object in the application, or 0 if unknown */ @@ -48,30 +46,22 @@ public: aid_t get_receiver() const { return receiver_; } /** Mailbox ID */ unsigned get_mailbox() const { return mbox_; } - /** Sender buffer */ - uintptr_t get_sbuff() const { return sbuff_; } - /** Receiver buffer */ - uintptr_t get_rbuff() const { return rbuff_; } - /** data size */ - size_t get_size() const { return size_; } }; class CommTestTransition : public Transition { unsigned comm_; unsigned mbox_; aid_t sender_; aid_t receiver_; - uintptr_t sbuff_; - uintptr_t rbuff_; - size_t size_; friend CommSendTransition; friend CommRecvTransition; public: - CommTestTransition(aid_t issuer, int times_considered, unsigned comm_, aid_t sender_, aid_t receiver_, unsigned mbox_, - uintptr_t sbuff_, uintptr_t rbuff_, size_t size_); + CommTestTransition(aid_t issuer, int times_considered, unsigned comm_, aid_t sender_, aid_t receiver_, + unsigned mbox_); CommTestTransition(aid_t issuer, int times_considered, std::stringstream& stream); std::string to_string(bool verbose) const override; bool depends(const Transition* other) const override; + bool reversible_race(const Transition* other) const override; /** ID of the corresponding Communication object in the application, or 0 if unknown */ unsigned get_comm() const { return comm_; } @@ -81,32 +71,24 @@ public: aid_t get_receiver() const { return receiver_; } /** Mailbox ID */ unsigned get_mailbox() const { return mbox_; } - /** Sender buffer */ - uintptr_t get_sbuff() const { return sbuff_; } - /** Receiver buffer */ - uintptr_t get_rbuff() const { return rbuff_; } - /** data size */ - size_t get_size() const { return size_; } }; class CommRecvTransition : public Transition { unsigned comm_; /* ID of the CommImpl or 0 if not known */ unsigned mbox_; - uintptr_t rbuff_; int tag_; public: - CommRecvTransition(aid_t issuer, int times_considered, unsigned comm_, unsigned mbox_, uintptr_t rbuff_, int tag_); + CommRecvTransition(aid_t issuer, int times_considered, unsigned comm_, unsigned mbox_, int tag_); CommRecvTransition(aid_t issuer, int times_considered, std::stringstream& stream); std::string to_string(bool verbose) const override; bool depends(const Transition* other) const override; + bool reversible_race(const Transition* other) const override; /** ID of the corresponding Communication object in the application (or 0 if unknown)*/ unsigned get_comm() const { return comm_; } /** Mailbox ID */ unsigned get_mailbox() const { return mbox_; } - /** Receiver buffer */ - uintptr_t get_rbuff() const { return rbuff_; } /** If using SMPI, the tag */ int get_tag() const { return tag_; } }; @@ -114,25 +96,19 @@ public: class CommSendTransition : public Transition { unsigned comm_; unsigned mbox_; - uintptr_t sbuff_; - size_t size_; int tag_; public: - CommSendTransition(aid_t issuer, int times_considered, unsigned comm_, unsigned mbox_, uintptr_t sbuff_, size_t size_, - int tag_); + CommSendTransition(aid_t issuer, int times_considered, unsigned comm_, unsigned mbox_, int tag_); CommSendTransition(aid_t issuer, int times_considered, std::stringstream& stream); std::string to_string(bool verbose) const override; bool depends(const Transition* other) const override; + bool reversible_race(const Transition* other) const override; /** ID of the corresponding Communication object in the application, or 0 if unknown */ unsigned get_comm() const { return comm_; } /** Mailbox ID */ unsigned get_mailbox() const { return mbox_; } - /** Sender buffer */ - uintptr_t get_sbuff() const { return sbuff_; } - /** data size */ - size_t get_size() const { return size_; } /** If using SMPI, the tag */ int get_tag() const { return tag_; } };