X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=nodestack.h;h=47c72678aa13cffb9294e6a7d842860136e37baf;hb=82df62c2b0805848b87bb71df5b66a4a66f8e25d;hp=94bb58ee1e64d235e4daf0801ee6861491c6b292;hpb=8ea66f246f18e3a92e279a9ba49c29beb2d8ef52;p=model-checker.git diff --git a/nodestack.h b/nodestack.h index 94bb58e..47c7267 100644 --- a/nodestack.h +++ b/nodestack.h @@ -5,14 +5,13 @@ #ifndef __NODESTACK_H__ #define __NODESTACK_H__ -#include #include #include #include #include "mymemory.h" -#include "modeltypes.h" #include "schedule.h" +#include "promise.h" class ModelAction; class Thread; @@ -33,18 +32,12 @@ class Thread; typedef int promise_t; -struct future_value { - uint64_t value; - modelclock_t expiration; -}; - struct fairness_info { unsigned int enabled_count; unsigned int turns; bool priority; }; - /** * @brief A single node in a NodeStack * @@ -78,9 +71,8 @@ public: * occurred previously in the stack. */ Node * get_parent() const { return parent; } - bool add_future_value(uint64_t value, modelclock_t expiration); - uint64_t get_future_value() const; - modelclock_t get_future_value_expiration() const; + bool add_future_value(struct future_value& fv); + struct future_value get_future_value() const; bool increment_future_value(); bool future_value_empty() const; @@ -107,7 +99,7 @@ public: bool increment_relseq_break(); bool relseq_break_empty() const; - void print(); + void print() const; void print_may_read_from(); MEMALLOC