-typedef std::vector< const ModelAction *, MyAlloc< const ModelAction * > > readfrom_set_t;
-typedef std::vector< uint64_t, MyAlloc< uint64_t > > futurevalues_t;
-typedef std::vector< uint32_t, MyAlloc< uint32_t > > promises_t;
+#define PROMISE_IGNORE 0 /**< This promise is inapplicable; ignore it */
+#define PROMISE_UNFULFILLED 1 /**< This promise is applicable but unfulfilled */
+#define PROMISE_FULFILLED 2 /**< This promise is applicable and fulfilled */
+#define PROMISE_MASK 0xf
+#define PROMISE_RMW 0x10
+
+typedef int promise_t;
+
+struct fairness_info {
+ unsigned int enabled_count;
+ unsigned int turns;
+ bool priority;
+};