nodestack: implement expiration sloppiness parameter
[model-checker.git] / model.h
diff --git a/model.h b/model.h
index 8ff9d375838b193bec751f9b7f0d419a89f07a8d..f843f75cfdfb29ba356932ca65902ec739cbfbb4 100644 (file)
--- a/model.h
+++ b/model.h
@@ -37,6 +37,15 @@ struct model_params {
        unsigned int fairwindow;
        unsigned int enabledcount;
        unsigned int bound;
+
+       /** @brief Maximum number of future values that can be sent to the same
+        *  read */
+       int maxfuturevalues;
+
+       /** @brief Only generate a new future value/expiration pair if the
+        *  expiration time exceeds the existing one by more than the slop
+        *  value */
+       unsigned int expireslop;
 };
 
 struct PendingFutureValue {
@@ -99,6 +108,7 @@ public:
        bool isfeasible();
        bool isfeasibleotherthanRMW();
        bool isfinalfeasible();
+       void check_promises_thread_disabled();
        void mo_check_promises(thread_id_t tid, const ModelAction *write);
        void check_promises(thread_id_t tid, ClockVector *old_cv, ClockVector * merge_cv);
        void get_release_seq_heads(ModelAction *act, rel_heads_list_t *release_heads);