else
(vec=new ClockVector(vec, NULL))->merge(rf->get_last_fence_release()->get_cv());
} else {
- if (vec == NULL && rf->is_rmw()) {
- vec = new ClockVector(NULL, NULL);
+ if (vec == NULL) {
+ if (rf->is_rmw()) {
+ vec = new ClockVector(NULL, NULL);
+ }
+ } else {
+ vec = new ClockVector(vec, NULL);
}
}
rf->set_rfcv(vec);
//Thread 0 isn't a real thread, so skip it..
for(unsigned int i = 1;i < thread_map.size();i++) {
Thread * t = thread_map[i];
- if (t->get_state() == THREAD_COMPLETED)
+ if (t->is_complete())
continue;
thread_id_t tid = int_to_id(i);
ClockVector * cv = get_cv(tid);