projects
/
model-checker.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
move libthreads.h -> include/threads.h
[model-checker.git]
/
action.h
diff --git
a/action.h
b/action.h
index dfe2102d47b4ced0879f25509fd7ef1f7c7850f5..496093134ec7b6c96437c6ffa6f060e87894bdd9 100644
(file)
--- a/
action.h
+++ b/
action.h
@@
-14,6
+14,7
@@
#include "modeltypes.h"
class ClockVector;
#include "modeltypes.h"
class ClockVector;
+class Thread;
using std::memory_order;
using std::memory_order_relaxed;
using std::memory_order;
using std::memory_order_relaxed;
@@
-66,7
+67,7
@@
class ClockVector;
*/
class ModelAction {
public:
*/
class ModelAction {
public:
- ModelAction(action_type_t type, memory_order order, void *loc, uint64_t value = VALUE_NONE);
+ ModelAction(action_type_t type, memory_order order, void *loc, uint64_t value = VALUE_NONE
, Thread *thread = NULL
);
~ModelAction();
void print() const;
~ModelAction();
void print() const;
@@
-124,6
+125,10
@@
public:
void process_rmw(ModelAction * act);
void copy_typeandorder(ModelAction * act);
void process_rmw(ModelAction * act);
void copy_typeandorder(ModelAction * act);
+ void set_sleep_flag() { sleep_flag=true; }
+ bool get_sleep_flag() { return sleep_flag; }
+ unsigned int hash() const;
+
MEMALLOC
private:
MEMALLOC
private:
@@
-154,8
+159,10
@@
private:
/** The clock vector stored with this action; only needed if this
* action is a store release? */
ClockVector *cv;
/** The clock vector stored with this action; only needed if this
* action is a store release? */
ClockVector *cv;
+
+ bool sleep_flag;
};
};
-typedef std::list<
ModelAction *
> action_list_t;
+typedef std::list<
ModelAction *, SnapshotAlloc<ModelAction *>
> action_list_t;
#endif /* __ACTION_H__ */
#endif /* __ACTION_H__ */