X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=model.h;h=a2d33432de948e4bc64b48ca6d7c1c7596f1a20f;hb=ea0cb2585eee658354f48b4bbfebaf030cccf317;hp=073b96b976cd4807c45c8c5e6ffef415941a0a81;hpb=7ba211ec7d1cacbaa3ef2027f1a0f534888f1708;p=c11tester.git diff --git a/model.h b/model.h index 073b96b9..a2d33432 100644 --- a/model.h +++ b/model.h @@ -18,6 +18,7 @@ #include "clockvector.h" #include "hashtable.h" #include "workqueue.h" +#include "config.h" /* Forward declaration */ class NodeStack; @@ -66,6 +67,9 @@ public: /** Prints an execution summary with trace information. */ void print_summary(); +#if SUPPORT_MOD_ORDER_DUMP + void dumpGraph(char *filename); +#endif void add_thread(Thread *t); void remove_thread(Thread *t); @@ -74,7 +78,6 @@ public: thread_id_t get_next_id(); int get_num_threads(); - modelclock_t get_next_seq_num(); /** @return The currently executing Thread. */ Thread * get_current_thread() { return scheduler->get_current_thread(); } @@ -110,6 +113,8 @@ private: int num_feasible_executions; bool promises_expired(); + modelclock_t get_next_seq_num(); + /** * Stores the ModelAction for the current thread action. Call this * immediately before switching from user- to system-context to pass