Because we don't control the 'new' operator for STL sets, I can't properly
ensure that it is allocated in non-snapshotting memory. So just make
may_read_from a normal member variable within class Node, so that its
initial 'allocation' is performed as part of the instantiation of its
subsuming Node object.
explored_children(num_threads),
backtrack(num_threads),
numBacktracks(0),
- may_read_from(NULL)
+ may_read_from()
{
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)
{
- ASSERT(may_read_from);
- may_read_from->insert(act);
+ 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;