execution: improve yield-blocking structure
[cdsspec-compiler.git] / execution.h
index 67e3fa4b8957a50a90211493772d7583678d0bb7..7f63e6d99812c98f5732d35c52a1e04f8691ac17 100644 (file)
@@ -61,11 +61,13 @@ struct release_seq {
 class ModelExecution {
 public:
        ModelExecution(ModelChecker *m,
-                       struct model_params *params,
+                       const struct model_params *params,
                        Scheduler *scheduler,
                        NodeStack *node_stack);
        ~ModelExecution();
 
+       const struct model_params * get_params() const { return params; }
+
        Thread * take_step(ModelAction *curr);
        void fixup_release_sequences();
 
@@ -107,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();