Rework how we present non-SC traces...previous presentation didn't make reasons clear.
[model-checker.git] / scanalysis.h
index 7e300e0c1e71451905a2dee56f99a3e1e3605681..047793045e63c954b03b775fd433738aaf8d08d7 100644 (file)
@@ -18,11 +18,16 @@ class SCAnalysis : public TraceAnalysis {
        action_list_t * generateSC(action_list_t *);
        bool processRead(ModelAction *read, ClockVector *cv);
        ModelAction * getNextAction();
-       bool merge(ClockVector * cv, const ModelAction * act, ClockVector *cv2);
+       bool merge(ClockVector *cv, const ModelAction *act, const ModelAction *act2);
+       void check_rf(action_list_t *list);
+
+
        int maxthreads;
-       HashTable<const ModelAction *,ClockVector *, uintptr_t, 4 > * cvmap;
-       HashTable<const ModelAction *,const ModelAction *, uintptr_t, 4 > * cycleset;
-       SnapVector<action_list_t> * threadlists;
+       HashTable<const ModelAction *, ClockVector *, uintptr_t, 4 > cvmap;
+       bool cyclic;
+       HashTable<const ModelAction *, const ModelAction *, uintptr_t, 4 > badrfset;
+       HashTable<void *, const ModelAction *, uintptr_t, 4 > lastwrmap;
+       SnapVector<action_list_t> threadlists;
        const ModelExecution *execution;
 };
 #endif