X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=nodestack.cc;h=10f7a72b5ef3ff5705fdbe29771def18212ecf11;hb=b81be9611238c9485f1912fa1e9cab26b5df6fb6;hp=a39701eaf871c90a7da3b41e2f296421dd4d6186;hpb=c01d975387b4fc4b711acbdbdc19e3690985adec;p=model-checker.git diff --git a/nodestack.cc b/nodestack.cc index a39701e..10f7a72 100644 --- a/nodestack.cc +++ b/nodestack.cc @@ -24,12 +24,10 @@ Node::Node(ModelAction *act, Node *par, int nthreads) 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 */ @@ -48,6 +46,14 @@ void Node::print() printf("******** empty action ********\n"); } +/** @brief Prints info about may_read_from set */ +void Node::print_may_read_from() +{ + readfrom_set_t::iterator it; + for (it = may_read_from.begin(); it != may_read_from.end(); it++) + (*it)->print(); +} + /** * Checks if the Thread associated with this thread ID has been explored from * this Node already. @@ -119,10 +125,9 @@ bool Node::is_enabled(Thread *t) * Add an action to the may_read_from set. * @param act is the action to add */ -void Node::add_read_from(ModelAction *act) +void Node::add_read_from(const ModelAction *act) { - ASSERT(may_read_from); - may_read_from->insert(act); + may_read_from.push_back(act); } void Node::explore(thread_id_t tid)