#include "traceanalysis.h"
#include "hashtable.h"
+struct sc_statistics {
+ unsigned long long elapsedtime;
+ unsigned int sccount;
+ unsigned int nonsccount;
+};
+
class SCAnalysis : public TraceAnalysis {
public:
SCAnalysis();
~SCAnalysis();
virtual void setExecution(ModelExecution * execution);
virtual void analyze(action_list_t *);
- virtual char * name();
+ virtual const char * name();
+ virtual bool option(char *);
+ virtual void finish();
SNAPSHOTALLOC
private:
+ void update_stats();
void print_list(action_list_t *list);
int buildVectors(action_list_t *);
bool updateConstraints(ModelAction *act);
HashTable<void *, const ModelAction *, uintptr_t, 4 > lastwrmap;
SnapVector<action_list_t> threadlists;
ModelExecution *execution;
+ bool print_always;
+ bool print_buggy;
+ bool print_nonsc;
+ bool time;
+ struct sc_statistics *stats;
};
#endif