X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=blobdiff_plain;f=fuzzer.h;h=0fcfb51f67e66ff9ee439f9b48c1bd860838cbfa;hp=14d875d7827a2cf64c86f4abcf6838d56d7c00e9;hb=251ac4b4bf3a9f2d3cfacc1e6618200ca1c431ac;hpb=e16b141f84421c9823e9208240d2ba6eed4d87d9 diff --git a/fuzzer.h b/fuzzer.h index 14d875d7..0fcfb51f 100644 --- a/fuzzer.h +++ b/fuzzer.h @@ -3,14 +3,21 @@ #include "classlist.h" #include "mymemory.h" #include "stl-model.h" +#include "threads-model.h" class Fuzzer { public: - Fuzzer() {} - ModelAction * selectWrite(ModelAction *read, ModelVector* rf_set); - Thread * selectThread(Node *n, int * threadlist, int numthreads); - Thread * selectNotify(action_list_t * waiters); - MEMALLOC + Fuzzer() {} + virtual int selectWrite(ModelAction *read, SnapVector* rf_set); + virtual bool has_paused_threads() { return false; } + virtual Thread * selectThread(int * threadlist, int numthreads); + + Thread * selectNotify(simple_action_list_t * waiters); + bool shouldSleep(const ModelAction *sleep); + bool shouldWake(const ModelAction *sleep); + virtual bool shouldWait(const ModelAction *wait); + virtual void register_engine(ModelChecker * _model, ModelExecution * execution) {} + SNAPSHOTALLOC private: }; #endif