X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=scanalysis.h;h=047793045e63c954b03b775fd433738aaf8d08d7;hb=473bdc841f3b03b722911a5fa0b4f21ba3a217ed;hp=06fc2ed54d7cc0b04bd04071a2649895e4a4ef05;hpb=5178739a27add5e59a1213c9ac90e73397c1a23d;p=model-checker.git diff --git a/scanalysis.h b/scanalysis.h index 06fc2ed..0477930 100644 --- a/scanalysis.h +++ b/scanalysis.h @@ -5,7 +5,7 @@ class SCAnalysis : public TraceAnalysis { public: - SCAnalysis(); + SCAnalysis(const ModelExecution *execution); ~SCAnalysis(); virtual void analyze(action_list_t *); @@ -18,10 +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 * cvmap; - HashTable * cycleset; - SnapVector * threadlists; + HashTable cvmap; + bool cyclic; + HashTable badrfset; + HashTable lastwrmap; + SnapVector threadlists; + const ModelExecution *execution; }; #endif