- void addEdge(const ModelAction *from, const ModelAction *to);
- bool checkForCycles();
- bool checkForRMWViolation();
- void addRMWEdge(const ModelAction *from, const ModelAction *rmw);
- bool checkPromise(const ModelAction *from, Promise *p);
- bool checkReachable(const ModelAction *from, const ModelAction *to);
- void startChanges();
- void commitChanges();
- void rollbackChanges();
+ void addEdges(SnapList<ModelAction *> * edgeset, ModelAction *to);
+ void addEdge(ModelAction *from, ModelAction *to);
+ void addEdge(ModelAction *from, ModelAction *to, bool forceedge);
+ void addRMWEdge(ModelAction *from, ModelAction *rmw);
+ bool checkReachable(const ModelAction *from, const ModelAction *to) const;
+ void freeAction(const ModelAction * act);