The public interface is now in ModelExecution.
* thread which just took a step--plus the first step
* for any newly-created thread
*/
- for (unsigned int i = 0; i < execution->get_num_threads(); i++) {
+ for (unsigned int i = 0; i < get_num_threads(); i++) {
thread_id_t tid = int_to_id(i);
Thread *thr = get_thread(tid);
if (!thr->is_model_thread() && !thr->is_complete() && !thr->get_pending()) {
bool is_enabled(Thread *t) const;
bool is_enabled(thread_id_t tid) const;
- unsigned int get_num_threads() const;
Thread * get_current_thread() const;
void switch_from_master(Thread *thread);
int execution_number;
+ unsigned int get_num_threads() const;
+
void execute_sleep_set();
bool next_execution();
prevfairness = node_list[head_idx - model->params.fairwindow];
}
- int next_threads = model->get_num_threads();
+ int next_threads = execution->get_num_threads();
if (act->get_type() == THREAD_CREATE)
next_threads++;
node_list.push_back(new Node(act, head, next_threads, prevfairness));