projects
/
model-checker.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Annotation Support
[model-checker.git]
/
action.cc
diff --git
a/action.cc
b/action.cc
index 14ad71d54e5221c553a610a846f9a0a66dc98fa5..2010a0b61fd76a66bc2102a8ed2f4562491ad3e5 100644
(file)
--- a/
action.cc
+++ b/
action.cc
@@
-192,6
+192,11
@@
bool ModelAction::is_initialization() const
return type == ATOMIC_INIT;
}
return type == ATOMIC_INIT;
}
+bool ModelAction::is_annotation() const
+{
+ return type == ATOMIC_ANNOTATION;
+}
+
bool ModelAction::is_relaxed() const
{
return order == std::memory_order_relaxed;
bool ModelAction::is_relaxed() const
{
return order == std::memory_order_relaxed;
@@
-547,7
+552,8
@@
const char * ModelAction::get_type_str() const
case ATOMIC_TRYLOCK: return "trylock";
case ATOMIC_WAIT: return "wait";
case ATOMIC_NOTIFY_ONE: return "notify one";
case ATOMIC_TRYLOCK: return "trylock";
case ATOMIC_WAIT: return "wait";
case ATOMIC_NOTIFY_ONE: return "notify one";
- case ATOMIC_NOTIFY_ALL: return "notify all";
+ case ATOMIC_NOTIFY_ALL: return "notify all";
+ case ATOMIC_ANNOTATION: return "atomic annotation";
default: return "unknown type";
};
}
default: return "unknown type";
};
}
@@
-569,25
+575,25
@@
void ModelAction::print() const
{
const char *type_str = get_type_str(), *mo_str = get_mo_str();
{
const char *type_str = get_type_str(), *mo_str = get_mo_str();
- model_print("
(%4d) Thread: %-2d Action: %-13s MO: %7s Loc: %14p Value:
%-#18" PRIx64,
+ model_print("
%-4d %-2d %-13s %7s %14p
%-#18" PRIx64,
seq_number, id_to_int(tid), type_str, mo_str, location, get_return_value());
if (is_read()) {
if (reads_from)
seq_number, id_to_int(tid), type_str, mo_str, location, get_return_value());
if (is_read()) {
if (reads_from)
- model_print("
Rf:
%-3d", reads_from->get_seq_number());
+ model_print(" %-3d", reads_from->get_seq_number());
else if (reads_from_promise) {
int idx = reads_from_promise->get_index();
if (idx >= 0)
else if (reads_from_promise) {
int idx = reads_from_promise->get_index();
if (idx >= 0)
- model_print("
Rf:
P%-2d", idx);
+ model_print(" P%-2d", idx);
else
else
- model_print("
Rf:
P? ");
+ model_print(" P? ");
} else
} else
- model_print("
Rf:
? ");
+ model_print(" ? ");
}
if (cv) {
if (is_read())
model_print(" ");
else
}
if (cv) {
if (is_read())
model_print(" ");
else
- model_print("
");
+ model_print(" ");
cv->print();
} else
model_print("\n");
cv->print();
} else
model_print("\n");