X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=model.h;h=74cb4e1f29aaf2c649fce027fc9dd10c714eb562;hb=2d0d4ac38e05905a6633b3f2d5112ccadd45c27f;hp=3f9e6c2ea8867338dedea119acc698cd8458dcd3;hpb=7f076cdf802fbb01682dc954d0d4afb26ba031a7;p=model-checker.git diff --git a/model.h b/model.h index 3f9e6c2..74cb4e1 100644 --- a/model.h +++ b/model.h @@ -50,37 +50,26 @@ public: /** @returns the context for the main model-checking system thread */ ucontext_t * get_system_context() { return &system_context; } - const ModelExecution * get_execution() const { return execution; } + ModelExecution * get_execution() const { return execution; } + + int get_execution_number() const { return execution_number; } Thread * get_thread(thread_id_t tid) const; Thread * get_thread(const ModelAction *act) const; - int get_promise_number(const Promise *promise) const; - - bool is_enabled(Thread *t) const; - bool is_enabled(thread_id_t tid) const; - thread_id_t get_next_id(); - unsigned int get_num_threads() const; Thread * get_current_thread() const; void switch_from_master(Thread *thread); uint64_t switch_to_master(ModelAction *act); - ClockVector * get_cv(thread_id_t tid) const; - ModelAction * get_parent_action(thread_id_t tid) const; - void check_promises_thread_disabled(); - bool isfeasibleprefix() const; bool assert_bug(const char *msg, ...); void assert_user_bug(const char *msg); const model_params params; void add_trace_analysis(TraceAnalysis *a) { - trace_analyses->push_back(a); + trace_analyses.push_back(a); } - action_list_t * get_actions_on_obj(void * obj, thread_id_t tid); - ModelAction * get_last_action(thread_id_t tid) const; - MEMALLOC private: /** The scheduler to use: tracks the running/ready Threads */ @@ -88,6 +77,10 @@ private: NodeStack * const node_stack; ModelExecution *execution; + int execution_number; + + unsigned int get_num_threads() const; + void execute_sleep_set(); bool next_execution(); @@ -102,7 +95,7 @@ private: ucontext_t system_context; - ModelVector * trace_analyses; + ModelVector trace_analyses; /** @brief The cumulative execution stats */ struct execution_stats stats;