projects
/
model-checker.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
bf7f764
)
action: add stub ATOMIC_RMWR and ATOMIC_RMWC
author
Brian Norris
<banorris@uci.edu>
Wed, 1 Aug 2012 02:25:52 +0000
(19:25 -0700)
committer
Brian Norris
<banorris@uci.edu>
Thu, 2 Aug 2012 17:12:45 +0000
(10:12 -0700)
action.cc
patch
|
blob
|
history
action.h
patch
|
blob
|
history
diff --git
a/action.cc
b/action.cc
index 8793337448dda45a86ade51d63e6eba2b8960c0c..74ba5aabcf912355197f04fb94db562b41286a21 100644
(file)
--- a/
action.cc
+++ b/
action.cc
@@
-28,7
+28,7
@@
ModelAction::~ModelAction()
bool ModelAction::is_read() const
{
bool ModelAction::is_read() const
{
- return type == ATOMIC_READ || type == ATOMIC_RMW;
+ return type == ATOMIC_READ || type == ATOMIC_RMW
R || type == ATOMIC_RMW
;
}
bool ModelAction::is_write() const
}
bool ModelAction::is_write() const
@@
-36,11
+36,21
@@
bool ModelAction::is_write() const
return type == ATOMIC_WRITE || type == ATOMIC_RMW || type == ATOMIC_INIT;
}
return type == ATOMIC_WRITE || type == ATOMIC_RMW || type == ATOMIC_INIT;
}
+bool ModelAction::is_rmwr() const
+{
+ return type == ATOMIC_RMWR;
+}
+
bool ModelAction::is_rmw() const
{
return type == ATOMIC_RMW;
}
bool ModelAction::is_rmw() const
{
return type == ATOMIC_RMW;
}
+bool ModelAction::is_rmwc() const
+{
+ return type == ATOMIC_RMWC;
+}
+
bool ModelAction::is_initialization() const
{
return type == ATOMIC_INIT;
bool ModelAction::is_initialization() const
{
return type == ATOMIC_INIT;
@@
-183,6
+193,12
@@
void ModelAction::print(void) const
case ATOMIC_RMW:
type_str = "atomic rmw";
break;
case ATOMIC_RMW:
type_str = "atomic rmw";
break;
+ case ATOMIC_RMWR:
+ type_str = "atomic rmwr";
+ break;
+ case ATOMIC_RMWC:
+ type_str = "atomic rmwc";
+ break;
case ATOMIC_INIT:
type_str = "init atomic";
break;
case ATOMIC_INIT:
type_str = "init atomic";
break;
diff --git
a/action.h
b/action.h
index 36cec25dcf05cd9d24e971b22c6626e64585bde4..5ab36b360ffd0bd3889f456a53e61f6c9cfe7712 100644
(file)
--- a/
action.h
+++ b/
action.h
@@
-34,7
+34,9
@@
typedef enum action_type {
THREAD_JOIN, /**< A thread join action */
ATOMIC_READ, /**< An atomic read action */
ATOMIC_WRITE, /**< An atomic write action */
THREAD_JOIN, /**< A thread join action */
ATOMIC_READ, /**< An atomic read action */
ATOMIC_WRITE, /**< An atomic write action */
- ATOMIC_RMW, /**< An atomic read-modify-write action */
+ ATOMIC_RMWR, /**< The read of an atomic read-modify-write action */
+ ATOMIC_RMW, /**< The write of an atomic read-modify-write action */
+ ATOMIC_RMWC, /**< Terminate an atomic read-modify-write action w/o write */
ATOMIC_INIT /**< Initialization of an atomic object (e.g.,
* atomic_init()) */
} action_type_t;
ATOMIC_INIT /**< Initialization of an atomic object (e.g.,
* atomic_init()) */
} action_type_t;
@@
-65,6
+67,8
@@
public:
bool is_read() const;
bool is_write() const;
bool is_read() const;
bool is_write() const;
+ bool is_rmwr() const;
+ bool is_rmwc() const;
bool is_rmw() const;
bool is_initialization() const;
bool is_acquire() const;
bool is_rmw() const;
bool is_initialization() const;
bool is_acquire() const;