move codes around in history.cc, and NewFuzzer::selectWrite is half working
[c11tester.git] / newfuzzer.h
index 0fb730ab18cb78b2730000d17cc5b44033ae23ec..c70960e7cf3db0b46d0f85c1210379e40ad7530b 100644 (file)
@@ -8,14 +8,26 @@
 
 class NewFuzzer : public Fuzzer {
 public:
-       NewFuzzer() {}
+       NewFuzzer();
        int selectWrite(ModelAction *read, SnapVector<ModelAction *>* rf_set);
+       void selectBranch(int thread_id, Predicate * curr_pred, FuncInst * read_inst);
+       Predicate * get_selected_child_branch(thread_id_t tid);
+
        Thread * selectThread(int * threadlist, int numthreads);
        Thread * selectNotify(action_list_t * waiters);
        bool shouldSleep(const ModelAction *sleep);
        bool shouldWake(const ModelAction *sleep);
+
+       void register_engine(ModelHistory * history, ModelExecution * execution);
+
        MEMALLOC
 private:
+       ModelHistory * history;
+       ModelExecution * execution;
+
+       SnapVector<ModelAction *> thrd_last_read_act;
+       SnapVector<Predicate *> thrd_curr_pred;
+       SnapVector<Predicate *> thrd_selected_child_branch;
 };
 
 #endif /* end of __NEWFUZZER_H__ */