}
/** @return The currently executing Thread. */
-Thread * ModelChecker::get_current_thread()
+Thread * ModelChecker::get_current_thread() const
{
return scheduler->get_current_thread();
}
return ++priv->used_sequence_numbers;
}
-Node * ModelChecker::get_curr_node() {
+Node * ModelChecker::get_curr_node() const
+{
return node_stack->get_head();
}
return NULL;
}
-ModelAction * ModelChecker::get_parent_action(thread_id_t tid)
+ModelAction * ModelChecker::get_parent_action(thread_id_t tid) const
{
ModelAction *parent = get_last_action(tid);
if (!parent)
* @param tid The thread whose clock vector we want
* @return Desired clock vector
*/
-ClockVector * ModelChecker::get_cv(thread_id_t tid)
+ClockVector * ModelChecker::get_cv(thread_id_t tid) const
{
return get_parent_action(tid)->get_cv();
}
thread_id_t get_next_id();
unsigned int get_num_threads() const;
- Thread * get_current_thread();
+ Thread * get_current_thread() const;
int switch_to_master(ModelAction *act);
- ClockVector * get_cv(thread_id_t tid);
- ModelAction * get_parent_action(thread_id_t tid);
+ ClockVector * get_cv(thread_id_t tid) const;
+ ModelAction * get_parent_action(thread_id_t tid) const;
void check_promises_thread_disabled();
void mo_check_promises(thread_id_t tid, const ModelAction *write);
void check_promises(thread_id_t tid, ClockVector *old_cv, ClockVector * merge_cv);
void set_bad_synchronization();
const model_params params;
- Node * get_curr_node();
+ Node * get_curr_node() const;
MEMALLOC
private: