- bool next_execution();
-private:
- int used_thread_id;
- int num_executions;
-
- ModelAction * get_last_conflict(ModelAction *act);
- void set_backtracking(ModelAction *act);
- thread_id_t advance_backtracking_state();
- thread_id_t get_next_replay_thread();
-
- class ModelAction *current_action;
- Backtrack *exploring;
- thread_id_t nextThread;
-
- action_list_t *action_trace;
- std::map<thread_id_t, class Thread *> thread_map;
- class TreeNode *rootNode, *currentNode;
- std::list<class Backtrack *> backtrack_list;
+ ModelAction *diverge;
+ ModelAction *earliest_diverge;
+
+ ucontext_t system_context;
+
+ ModelVector<TraceAnalysis *> trace_analyses;
+
+ /** @brief The cumulative execution stats */
+ struct execution_stats stats;
+ void record_stats();
+ void run_trace_analyses();
+ void print_bugs() const;
+ void print_execution(bool printbugs) const;
+ void print_stats() const;
+
+ friend void user_main_wrapper();