From 6e3ab697e4e1630e3f3815b59ec629288ee7a97c Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Tue, 9 Oct 2012 18:05:33 -0700 Subject: [PATCH] unrelacy: add some helpers for cleaning up relacy code Relacy still uses a few things that I can't easily add, like a () operator for std::atomic. We'll still have to replace some things by hand in test cases written for Relacy. --- benchmarks.mk | 2 +- include/unrelacy.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 include/unrelacy.h diff --git a/benchmarks.mk b/benchmarks.mk index d47b6d6..eeb2f74 100644 --- a/benchmarks.mk +++ b/benchmarks.mk @@ -9,7 +9,7 @@ LIB_NAME = model LIB_SO = lib$(LIB_NAME).so BASE = ../.. -INCLUDE = -I$(BASE)/include -I$(BASE) +INCLUDE = -I$(BASE)/include -I$(BASE) -I../include CPPFLAGS += $(INCLUDE) CFLAGS += $(INCLUDE) LDFLAGS += -L$(BASE) -l$(LIB_NAME) diff --git a/include/unrelacy.h b/include/unrelacy.h new file mode 100644 index 0000000..f4d75e8 --- /dev/null +++ b/include/unrelacy.h @@ -0,0 +1,29 @@ +#include + +#define $ + +/* Should re-define to something meaningful */ +#define ASSERT(expr) + +#define mo_seqcst memory_order_relaxed +#define mo_release memory_order_release +#define mo_acquire memory_order_acquire +#define mo_acq_rel memory_order_acq_rel +#define mo_relaxed memory_order_relaxed + +namespace rl { + + class backoff_t + { + public: + typedef int debug_info_param; + void yield(debug_info_param info) { } + void yield() { } + }; + + + typedef backoff_t backoff; + typedef backoff_t linear_backoff; + typedef backoff_t exp_backoff; + +} -- 2.34.1