model: rename 'reads_from' to 'rf'
[c11tester.git] / nodestack.h
index 13c6d09a7c7c39b88ef903012dd91449e37c7239..6200887a0e624c945fee33f09546ee87cd7109c1 100644 (file)
@@ -56,6 +56,7 @@ public:
        /* return true = backtrack set is empty */
        bool backtrack_empty() const;
 
+       void clear_backtracking();
        void explore_child(ModelAction *act, enabled_type_t *is_enabled);
        /* return false = thread was already in backtrack */
        bool set_backtrack(thread_id_t id);
@@ -71,17 +72,17 @@ public:
         * occurred previously in the stack. */
        Node * get_parent() const { return parent; }
 
-       bool add_future_value(const ModelAction *writer, modelclock_t expiration);
+       bool add_future_value(struct future_value fv);
        struct future_value get_future_value() const;
        bool increment_future_value();
        bool future_value_empty() const;
 
-       void add_read_from(const ModelAction *act);
-       const ModelAction * get_read_from() const;
-       bool increment_read_from();
-       bool read_from_empty() const;
-       int get_read_from_size() const;
-       const ModelAction * get_read_from_at(int i) const;
+       void add_read_from_past(const ModelAction *act);
+       const ModelAction * get_read_from_past() const;
+       bool increment_read_from_past();
+       bool read_from_past_empty() const;
+       int get_read_from_past_size() const;
+       const ModelAction * get_read_from_past(int i) const;
 
        void set_promise(unsigned int i, bool is_rmw);
        bool get_promise(unsigned int i) const;
@@ -99,8 +100,8 @@ public:
        bool increment_relseq_break();
        bool relseq_break_empty() const;
 
-       void print();
-       void print_may_read_from();
+       void print() const;
+       void print_read_from_past();
 
        MEMALLOC
 private:
@@ -115,11 +116,12 @@ private:
        int numBacktracks;
        enabled_type_t *enabled_array;
 
-       /** The set of ModelActions that this the action at this Node may read
-        *  from. Only meaningful if this Node represents a 'read' action. */
-       std::vector< const ModelAction *, ModelAlloc< const ModelAction * > > may_read_from;
-
-       unsigned int read_from_index;
+       /**
+        * The set of past ModelActions that this the action at this Node may
+        * read from. Only meaningful if this Node represents a 'read' action.
+        */
+       std::vector< const ModelAction *, ModelAlloc< const ModelAction * > > read_from_past;
+       unsigned int read_from_past_idx;
 
        std::vector< struct future_value, ModelAlloc<struct future_value> > future_values;
        std::vector< promise_t, ModelAlloc<promise_t> > promises;