explored_children(num_threads),
backtrack(num_threads),
numBacktracks(0),
- may_read_from()
+ may_read_from(NULL)
{
if (act)
act->set_node(this);
+ if (act && act->is_read())
+ may_read_from = new action_set_t();
}
/** @brief Node desctructor */
*/
void Node::add_read_from(ModelAction *act)
{
- may_read_from.insert(act);
+ ASSERT(may_read_from);
+ may_read_from->insert(act);
}
void Node::explore(thread_id_t tid)
/** The set of ModelActions that this the action at this Node may read
* from. Only meaningful if this Node represents a 'read' action. */
- action_set_t may_read_from;
+ action_set_t *may_read_from;
};
typedef std::list<class Node *, MyAlloc< class Node * > > node_list_t;