X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=clockvector.h;h=1a36a39dc040838f2c37b8166a8faf9b9a6a80fd;hb=ee118c7912f975c32ccaf0edbc0b6afd49a365aa;hp=f2716dbd90497c9f260b1730bee9d25bc9c622fd;hpb=53748c53db55c1230d4b191caf0e4016a2b9c0a6;p=c11tester.git diff --git a/clockvector.h b/clockvector.h index f2716dbd..1a36a39d 100644 --- a/clockvector.h +++ b/clockvector.h @@ -5,25 +5,22 @@ #ifndef __CLOCKVECTOR_H__ #define __CLOCKVECTOR_H__ -#include "threads.h" #include "mymemory.h" - -typedef unsigned int modelclock_t; -/* Forward declaration */ -class ModelAction; +#include "modeltypes.h" +#include "classlist.h" class ClockVector { public: - ClockVector(ClockVector *parent = NULL, ModelAction *act = NULL); + ClockVector(ClockVector *parent = NULL, const ModelAction *act = NULL); ~ClockVector(); - void merge(const ClockVector *cv); + bool merge(const ClockVector *cv); + bool minmerge(const ClockVector *cv); bool synchronized_since(const ModelAction *act) const; - bool has_synchronized_with(const ClockVector *cv) const; void print() const; modelclock_t getClock(thread_id_t thread); - MEMALLOC + SNAPSHOTALLOC private: /** @brief Holds the actual clock data, as an array. */ modelclock_t *clock; @@ -32,4 +29,4 @@ private: int num_threads; }; -#endif /* __CLOCKVECTOR_H__ */ +#endif /* __CLOCKVECTOR_H__ */