projects
/
c11tester.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
performace fix
[c11tester.git]
/
clockvector.h
diff --git
a/clockvector.h
b/clockvector.h
index c4aabeb162829cf4883c1c546e2df0651fbfe5eb..962e9ec4844995c811638030d5a7c11a983ea36e 100644
(file)
--- a/
clockvector.h
+++ b/
clockvector.h
@@
-1,23
+1,31
@@
+/** @file clockvector.h
+ * @brief Implements a clock vector.
+ */
+
#ifndef __CLOCKVECTOR_H__
#define __CLOCKVECTOR_H__
#ifndef __CLOCKVECTOR_H__
#define __CLOCKVECTOR_H__
-#include "threads.h"
#include "mymemory.h"
#include "mymemory.h"
-
-/* Forward declaration */
-class ModelAction;
+#include "modeltypes.h"
+#include "classlist.h"
class ClockVector {
public:
class ClockVector {
public:
- ClockVector(ClockVector *parent = NULL, ModelAction *act = NULL);
+ ClockVector(ClockVector *parent = NULL,
const
ModelAction *act = NULL);
~ClockVector();
~ClockVector();
-
void merge(
ClockVector *cv);
- bool
happens_before(ModelAction *act, thread_id_t id)
;
+
bool merge(const
ClockVector *cv);
+ bool
synchronized_since(const ModelAction *act) const
;
- MEMALLOC
+ void print() const;
+ modelclock_t getClock(thread_id_t thread);
+
+ SNAPSHOTALLOC
private:
private:
- int *clock;
+ /** @brief Holds the actual clock data, as an array. */
+ modelclock_t *clock;
+
+ /** @brief The number of threads recorded in clock (i.e., its length). */
int num_threads;
};
int num_threads;
};
-#endif /* __CLOCKVECTOR_H__ */
+#endif /* __CLOCKVECTOR_H__ */