#include <stdlib.h>
#include <mutex>
-#include "cdsannotate.h"
+#include "common.h"
+#include "sc_annotation.h"
#define relaxed memory_order_relaxed
#define release memory_order_release
// lock, we ignore this operation for the SC analysis, and otherwise we
// take it into consideration
+ //SC_BEGIN();
Entry *firstPtr = first->load(acquire);
+ //SC_KEEP();
+ //SC_END();
+
e = firstPtr;
while (e != NULL) {
if (e->hash == hash && eq(key, e->key)) {
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