projects
/
model-checker-benchmarks.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changes
[model-checker-benchmarks.git]
/
concurrent-hashmap
/
hashmap.h
diff --git
a/concurrent-hashmap/hashmap.h
b/concurrent-hashmap/hashmap.h
index 936f284635a1b71946b1fe867c964852aace5e04..8e6f196cb0e8c73d8a02f9dee01b152dddea7cc9 100644
(file)
--- a/
concurrent-hashmap/hashmap.h
+++ b/
concurrent-hashmap/hashmap.h
@@
-14,6
+14,7
@@
#include <stdlib.h>
#include <mutex>
#include <stdlib.h>
#include <mutex>
+#include "common.h"
#include "sc_annotation.h"
#define relaxed memory_order_relaxed
#include "sc_annotation.h"
#define relaxed memory_order_relaxed
@@
-164,10
+165,10
@@
class HashMap {
// lock, we ignore this operation for the SC analysis, and otherwise we
// take it into consideration
// lock, we ignore this operation for the SC analysis, and otherwise we
// take it into consideration
- SC_BEGIN();
+
//
SC_BEGIN();
Entry *firstPtr = first->load(acquire);
Entry *firstPtr = first->load(acquire);
- SC_KEEP();
- SC_END();
+
//
SC_KEEP();
+
//
SC_END();
e = firstPtr;
while (e != NULL) {
e = firstPtr;
while (e != NULL) {
@@
-177,9
+178,9
@@
class HashMap {
return res;
else
break;
return res;
else
break;
- // Loading the next entry
- e = e->next.load(acquire);
}
}
+ // Loading the next entry
+ e = e->next.load(acquire);
}
// Recheck under synch if key apparently not there or interference
}
// Recheck under synch if key apparently not there or interference