X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=fuzzer.h;h=b0f533d2d622d70e6feb6091feed5c4be1b50f69;hb=ef795ab915a9311fc24c7ea7048f40d0a3bb34b3;hp=348225c8f60184d90701b63df36767761bf0129e;hpb=fd1c312226f7619db525c7d88c627df55d90cbc2;p=c11tester.git diff --git a/fuzzer.h b/fuzzer.h index 348225c8..b0f533d2 100644 --- a/fuzzer.h +++ b/fuzzer.h @@ -9,12 +9,14 @@ class Fuzzer { public: Fuzzer() {} virtual int selectWrite(ModelAction *read, SnapVector* rf_set); - virtual Predicate * get_selected_child_branch(thread_id_t tid) = 0; - Thread * selectThread(int * threadlist, int numthreads); + virtual bool has_paused_threads() { return false; } + virtual Thread * selectThread(int * threadlist, int numthreads); + Thread * selectNotify(action_list_t * waiters); bool shouldSleep(const ModelAction *sleep); bool shouldWake(const ModelAction *sleep); - virtual void register_engine(ModelHistory * history, ModelExecution * execution) = 0; + virtual bool shouldWait(const ModelAction *wait); + virtual void register_engine(ModelExecution * execution) {} SNAPSHOTALLOC private: };