*/
class Node {
public:
- Node(ModelAction *act = NULL, Node *par = NULL, int nthreads = 1, Node *prevfairness = NULL);
+ Node(ModelAction *act = NULL, Node *par = NULL, int nthreads = 2, Node *prevfairness = NULL);
~Node();
/* return true = thread choice has already been explored */
bool has_been_explored(thread_id_t tid);
bool get_promise(unsigned int i);
bool increment_promise();
bool promise_empty();
+ enabled_type_t *get_enabled_array() {return enabled_array;}
+
+ void set_misc_max(int i);
+ int get_misc();
+ bool increment_misc();
+ bool misc_empty();
void add_relseq_break(const ModelAction *write);
const ModelAction * get_relseq_break();
std::vector< const ModelAction *, ModelAlloc<const ModelAction *> > relseq_break_writes;
int relseq_break_index;
+
+ int misc_index;
+ int misc_max;
};
typedef std::vector< Node *, ModelAlloc< Node * > > node_list_t;