- void explore_child(ModelAction *act, bool * is_enabled);
- /* return false = thread was already in backtrack */
- bool set_backtrack(thread_id_t id);
- thread_id_t get_next_backtrack();
- bool is_enabled(Thread *t);
- bool is_enabled(thread_id_t tid);
- ModelAction * get_action() { return action; }
- bool has_priority(thread_id_t tid) {return fairness[id_to_int(tid)].priority;}
- int get_num_threads() {return num_threads;}
- /** @return the parent Node to this Node; that is, the action that
- * 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();
- modelclock_t get_future_value_expiration();
- bool increment_future_value();
- bool future_value_empty();
-
- void add_read_from(const ModelAction *act);
- const ModelAction * get_read_from();
- bool increment_read_from();
- bool read_from_empty();
- int get_read_from_size();
- const ModelAction * get_read_from_at(int i);
-
- void set_promise(unsigned int i);
- bool get_promise(unsigned int i);
- bool increment_promise();
- bool promise_empty();
-
- void print();
- void print_may_read_from();