bool updateConstraints(ModelAction *act);
void computeCV(action_list_t *);
action_list_t * generateSC(action_list_t *);
bool processRead(ModelAction *read, ClockVector *cv);
bool updateConstraints(ModelAction *act);
void computeCV(action_list_t *);
action_list_t * generateSC(action_list_t *);
bool processRead(ModelAction *read, ClockVector *cv);
bool merge(ClockVector *cv, const ModelAction *act, const ModelAction *act2);
void check_rf(action_list_t *list);
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;
int maxthreads;
HashTable<const ModelAction *, ClockVector *, uintptr_t, 4 > cvmap;
HashTable<const ModelAction *, const ModelAction *, uintptr_t, 4 > badrfset;
HashTable<void *, const ModelAction *, uintptr_t, 4 > lastwrmap;
SnapVector<action_list_t> threadlists;
HashTable<const ModelAction *, const ModelAction *, uintptr_t, 4 > badrfset;
HashTable<void *, const ModelAction *, uintptr_t, 4 > lastwrmap;
SnapVector<action_list_t> threadlists;