X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker.git;a=blobdiff_plain;f=model.h;h=74e3b068c39f356570daf491c3715865a1382d38;hp=9235f8f7f306a88a857361e281157148f102bf4f;hb=3c82af9a449b5cb3322809fd195a02e4a2ae37f4;hpb=c5b57f3d98d1d14b4546995a0882753cf71a1c4b;ds=sidebyside diff --git a/model.h b/model.h index 9235f8f..74e3b06 100644 --- a/model.h +++ b/model.h @@ -53,7 +53,6 @@ public: /** @return The currently executing Thread. */ Thread * get_current_thread() { return scheduler->get_current_thread(); } - void assert_thread(); int switch_to_master(ModelAction *act); ClockVector * get_cv(thread_id_t tid); ModelAction * get_parent_action(thread_id_t tid); @@ -66,12 +65,15 @@ public: void finish_execution(); bool isfeasibleprefix(); + void set_assert() {asserted=true;} MEMALLOC private: /** The scheduler to use: tracks the running/ready Threads */ Scheduler *scheduler; + bool has_asserted() {return asserted;} + void reset_asserted() {asserted=false;} int next_thread_id; modelclock_t used_sequence_numbers; int num_executions; @@ -140,7 +142,7 @@ private: /** * @brief The modification order graph * - * A direceted acyclic graph recording observations of the modification + * A directed acyclic graph recording observations of the modification * order on all the atomic objects in the system. This graph should * never contain any cycles, as that represents a violation of the * memory model (total ordering). This graph really consists of many @@ -152,8 +154,8 @@ private: * b. */ CycleGraph *mo_graph; - bool failed_promise; + bool asserted; }; extern ModelChecker *model;