model / threads: remove global get_next_id() interface
[model-checker.git] / scanalysis.h
index 79f78f1c00d630b6a1557015d2c5e4683f231879..7e300e0c1e71451905a2dee56f99a3e1e3605681 100644 (file)
@@ -3,9 +3,9 @@
 #include "traceanalysis.h"
 #include "hashtable.h"
 
-class SCAnalysis : public Trace_Analysis {
+class SCAnalysis : public TraceAnalysis {
  public:
-       SCAnalysis();
+       SCAnalysis(const ModelExecution *execution);
        ~SCAnalysis();
        virtual void analyze(action_list_t *);
 
@@ -18,8 +18,11 @@ class SCAnalysis : public Trace_Analysis {
        action_list_t * generateSC(action_list_t *);
        bool processRead(ModelAction *read, ClockVector *cv);
        ModelAction * getNextAction();
+       bool merge(ClockVector * cv, const ModelAction * act, ClockVector *cv2);
        int maxthreads;
        HashTable<const ModelAction *,ClockVector *, uintptr_t, 4 > * cvmap;
+       HashTable<const ModelAction *,const ModelAction *, uintptr_t, 4 > * cycleset;
        SnapVector<action_list_t> * threadlists;
+       const ModelExecution *execution;
 };
 #endif