model: privatize set_assert()
[model-checker.git] / action.cc
index 16f2327e8dc73de1ef564747bb27ae8c54c639fd..9427c7d204e4a8e3a509f7cda437c7c67439e58f 100644 (file)
--- a/action.cc
+++ b/action.cc
@@ -156,6 +156,11 @@ bool ModelAction::is_initialization() const
        return type == ATOMIC_INIT;
 }
 
+bool ModelAction::is_relaxed() const
+{
+       return order == std::memory_order_relaxed;
+}
+
 bool ModelAction::is_acquire() const
 {
        switch (order) {
@@ -365,7 +370,7 @@ bool ModelAction::synchronize_with(const ModelAction *act) {
 
 bool ModelAction::has_synchronized_with(const ModelAction *act) const
 {
-       return cv->has_synchronized_with(act->cv);
+       return cv->synchronized_since(act);
 }
 
 /**
@@ -468,22 +473,22 @@ void ModelAction::print() const
                break;
        }
 
-       printf("(%4d) Thread: %-2d   Action: %-13s   MO: %7s  Loc: %14p   Value: %-#18" PRIx64,
+       model_print("(%4d) Thread: %-2d   Action: %-13s   MO: %7s  Loc: %14p   Value: %-#18" PRIx64,
                        seq_number, id_to_int(tid), type_str, mo_str, location, valuetoprint);
        if (is_read()) {
                if (reads_from)
-                       printf("  Rf: %-3d", reads_from->get_seq_number());
+                       model_print("  Rf: %-3d", reads_from->get_seq_number());
                else
-                       printf("  Rf: ?  ");
+                       model_print("  Rf: ?  ");
        }
        if (cv) {
                if (is_read())
-                       printf(" ");
+                       model_print(" ");
                else
-                       printf("          ");
+                       model_print("          ");
                cv->print();
        } else
-               printf("\n");
+               model_print("\n");
 }
 
 /** @brief Print nicely-formatted info about this ModelAction */
@@ -492,7 +497,7 @@ unsigned int ModelAction::hash() const
        unsigned int hash=(unsigned int) this->type;
        hash^=((unsigned int)this->order)<<3;
        hash^=seq_number<<5;
-       hash^=tid<<6;
+       hash ^= id_to_int(tid) << 6;
 
        if (is_read()) {
                if (reads_from)