#define FORK_HANDLER_HACK
/** Enable smart fuzzer */
-//#define NEWFUZZER
+#define NEWFUZZER
/** Define semantics of volatile memory operations. */
#define memory_order_volatile_load memory_order_acquire
/* Initialize a model-checker thread, for special ModelActions */
model_thread = new Thread(get_next_id());
add_thread(model_thread);
- fuzzer->register_engine(this);
+ fuzzer->register_engine(m, this);
scheduler->register_engine(this);
#ifdef TLS
pthread_key_create(&pthreadkey, tlsdestructor);
bool shouldSleep(const ModelAction *sleep);
bool shouldWake(const ModelAction *sleep);
virtual bool shouldWait(const ModelAction *wait);
- virtual void register_engine(ModelExecution * execution) {}
+ virtual void register_engine(ModelChecker * _model, ModelExecution * execution) {}
SNAPSHOTALLOC
private:
};
/**
* @brief Register the ModelHistory and ModelExecution engine
*/
-void NewFuzzer::register_engine(ModelExecution *execution)
+void NewFuzzer::register_engine(ModelChecker *_model, ModelExecution *execution)
{
- this->history = model->get_history();
+ this->history = _model->get_history();
this->execution = execution;
}
bool shouldWake(const ModelAction * sleep);
bool shouldWait(const ModelAction * wait);
- void register_engine(ModelExecution * execution);
+ void register_engine(ModelChecker * model, ModelExecution * execution);
Predicate * get_selected_child_branch(thread_id_t tid);
SNAPSHOTALLOC