6 #include "threads-model.h"
11 virtual int selectWrite(ModelAction *read, SnapVector<ModelAction *>* rf_set);
12 virtual Predicate * get_selected_child_branch(thread_id_t tid) = 0;
13 virtual bool has_paused_threads() { return false; }
14 virtual void notify_paused_thread(Thread * thread) = 0;
15 virtual Thread * selectThread(int * threadlist, int numthreads);
17 Thread * selectNotify(action_list_t * waiters);
18 bool shouldSleep(const ModelAction *sleep);
19 bool shouldWake(const ModelAction *sleep);
20 virtual bool shouldWait(const ModelAction *wait) = 0;
21 virtual void register_engine(ModelHistory * history, ModelExecution * execution) = 0;