X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=action.h;h=8a8e33e363c5a2d45f538d162447e7bbff30f6e7;hb=2ca6ef09383bf8845c18bb478396da3a260da08f;hp=82b8532dacb97b4c748620b4b5af8308d377ed6a;hpb=39c0de028fe3b1c1d229ecf715007c751ddab445;p=model-checker.git diff --git a/action.h b/action.h index 82b8532..8a8e33e 100644 --- a/action.h +++ b/action.h @@ -45,6 +45,7 @@ typedef enum action_type { THREAD_YIELD, /**< A thread yield action */ THREAD_JOIN, /**< A thread join action */ THREAD_FINISH, /**< A thread completion action */ + ATOMIC_UNINIT, /**< Represents an uninitialized atomic */ ATOMIC_READ, /**< An atomic read action */ ATOMIC_WRITE, /**< An atomic write action */ ATOMIC_RMWR, /**< The read part of an atomic RMW action */ @@ -82,7 +83,7 @@ public: uint64_t get_value() const { return value; } const ModelAction * get_reads_from() const { return reads_from; } - Node * get_node() const { return node; } + Node * get_node() const; void set_node(Node *n) { node = n; } void set_read_from(const ModelAction *act); @@ -96,6 +97,7 @@ public: void copy_from_new(ModelAction *newaction); void set_seq_number(modelclock_t num); void set_try_lock(bool obtainedlock); + bool is_thread_start() const; bool is_relseq_fixup() const; bool is_mutex_op() const; bool is_lock() const; @@ -106,6 +108,7 @@ public: bool is_notify_one() const; bool is_success_lock() const; bool is_failed_trylock() const; + bool is_uninitialized() const; bool is_read() const; bool is_write() const; bool could_be_write() const;