changes to fix at least a bug
[model-checker.git] / nodestack.cc
index 06259b91c54964ba4c094af50347c11a23d9cb41..d08fa5c733e126f1faa710bfb613bb1df6ecccff 100644 (file)
@@ -262,6 +262,7 @@ void Node::explore_child(ModelAction *act, enabled_type_t * is_enabled)
 bool Node::set_backtrack(thread_id_t id)
 {
        int i = id_to_int(id);
+       ASSERT(i<((int)backtrack.size()));
        if (backtrack[i])
                return false;
        backtrack[i] = true;
@@ -290,6 +291,14 @@ bool Node::is_enabled(Thread *t)
        return thread_id < num_threads && (enabled_array[thread_id] != THREAD_DISABLED);
 }
 
+enabled_type_t Node::enabled_status(thread_id_t tid) {
+       int thread_id=id_to_int(tid);
+       if (thread_id < num_threads)
+               return enabled_array[thread_id];
+       else
+               return THREAD_DISABLED;
+}
+
 bool Node::is_enabled(thread_id_t tid)
 {
        int thread_id=id_to_int(tid);
@@ -429,6 +438,7 @@ bool Node::relseq_break_empty() {
 void Node::explore(thread_id_t tid)
 {
        int i = id_to_int(tid);
+       ASSERT(i<((int)backtrack.size()));
        if (backtrack[i]) {
                backtrack[i] = false;
                numBacktracks--;