- static int total_nodes;
- ModelAction *action;
- int num_threads;
- std::vector< bool, MyAlloc<bool> > explored_children;
- std::vector< bool, MyAlloc<bool> > backtrack;
+ ModelAction * const action;
+ Node * const parent;
+ const int num_threads;
+ std::vector< bool, ModelAlloc<bool> > explored_children;
+ std::vector< bool, ModelAlloc<bool> > backtrack;
+ std::vector< struct fairness_info, ModelAlloc< struct fairness_info> > fairness;
+ int numBacktracks;
+ enabled_type_t *enabled_array;
+
+ /**
+ * 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;
+ int future_index;
+
+ std::vector< const ModelAction *, ModelAlloc<const ModelAction *> > relseq_break_writes;
+ int relseq_break_index;
+
+ int misc_index;
+ int misc_max;