execution: refactor common CV propagation into its own function
[model-checker.git] / execution.h
index 1ba030b6d93a2d61fc97009dcf869db4c634e6ce..bb4ebb08f0b67cb3b30af855196c3b2b217b8013 100644 (file)
@@ -109,6 +109,7 @@ public:
        bool is_feasible_prefix_ignore_relseq() const;
        bool is_infeasible() const;
        bool is_deadlocked() const;
+       bool is_yieldblocked() const;
        bool too_many_steps() const;
 
        ModelAction * get_next_backtrack();
@@ -182,6 +183,7 @@ private:
        bool w_modification_order(ModelAction *curr, ModelVector<ModelAction *> *send_fv);
        void get_release_seq_heads(ModelAction *acquire, ModelAction *read, rel_heads_list_t *release_heads);
        bool release_seq_heads(const ModelAction *rf, rel_heads_list_t *release_heads, struct release_seq *pending) const;
+       void propagate_clockvector(ModelAction *acquire, work_queue_t *work);
        bool resolve_release_sequences(void *location, work_queue_t *work_queue);
        void add_future_value(const ModelAction *writer, ModelAction *reader);