X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=blobdiff_plain;f=main.cc;h=56ad58058d9b3b01c86d5d1af9b87d0faab28211;hp=0abc80b7e766063c5b3304be14d3a86dbc049045;hb=febd10a6b4b1af40b690219ebfd8d0b1a42b183c;hpb=827e70acafdfd05e339e6d17fd43594c398fe200 diff --git a/main.cc b/main.cc index 0abc80b7..56ad5805 100644 --- a/main.cc +++ b/main.cc @@ -164,23 +164,6 @@ static void install_trace_analyses(ModelExecution *execution) /** The model_main function contains the main model checking loop. */ static void model_main() { - struct model_params params; - - param_defaults(¶ms); - register_plugins(); - - parse_options(¶ms, main_argc, main_argv); - - //Initialize race detector - initRaceDetector(); - - snapshot_stack_init(); - - if (!model) - model = new ModelChecker(); - model->setParams(params); - install_trace_analyses(model->get_execution()); - snapshot_record(0); model->run(); delete model; @@ -212,6 +195,25 @@ int main(int argc, char **argv) /* Configure output redirection for the model-checker */ redirect_output(); - /* Let's jump in quickly and start running stuff */ - snapshot_system_init(10000, 1024, 1024, 40000, &model_main); + //Initialize snapshotting library + if (!model) + snapshot_system_init(10000, 1024, 1024, 40000); + + struct model_params params; + + param_defaults(¶ms); + register_plugins(); + parse_options(¶ms, main_argc, main_argv); + + //Initialize race detector + initRaceDetector(); + + snapshot_stack_init(); + + if (!model) + model = new ModelChecker(); + model->setParams(params); + install_trace_analyses(model->get_execution()); + + startExecution(&model_main); }