public:
ModelAction(action_type_t type, memory_order order, void *loc, uint64_t value = VALUE_NONE, Thread *thread = NULL);
ModelAction(action_type_t type, memory_order order, void *loc, uint64_t value, int size);
+ ModelAction(action_type_t type, const char * position, memory_order order, void *loc, uint64_t value = VALUE_NONE, Thread *thread = NULL);
~ModelAction();
void print() const;
memory_order get_original_mo() const { return original_order; }
void set_mo(memory_order order) { this->order = order; }
void * get_location() const { return location; }
+ const char * get_position() const { return position; }
modelclock_t get_seq_number() const { return seq_number; }
uint64_t get_value() const { return value; }
uint64_t get_reads_from_value() const;
/** @brief A pointer to the memory location for this action. */
void *location;
+ /** @brief A pointer to the source line for this atomic action. */
+ const char * position;
+
union {
/**
* @brief The store that this action reads from