#include "classlist.h"
#include "mymemory.h"
#include "stl-model.h"
+#include "threads-model.h"
class Fuzzer {
public:
Fuzzer() {}
- int selectWrite(ModelAction *read, SnapVector<const ModelAction *>* rf_set);
- Thread * selectThread(Node *n, int * threadlist, int numthreads);
+ virtual int selectWrite(ModelAction *read, SnapVector<ModelAction *>* rf_set);
+ virtual Predicate * get_selected_child_branch(thread_id_t tid) = 0;
+ 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;
MEMALLOC
private:
};