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 Thread * selectThread(int * threadlist, int numthreads);
15 Thread * selectNotify(action_list_t * waiters);
16 bool shouldSleep(const ModelAction *sleep);
17 bool shouldWake(const ModelAction *sleep);
18 virtual bool shouldWait(const ModelAction *wait) = 0;
19 virtual void register_engine(ModelHistory * history, ModelExecution * execution) = 0;