}
*/
+/* Note: is_read() is equivalent to ModelAction::is_read() */
bool FuncInst::is_read() const
{
return type == ATOMIC_READ || type == ATOMIC_RMWR || type == ATOMIC_RMWRCAS || type == ATOMIC_RMW;
}
+/* Note: because of action type conversion in ModelExecution
+ * is_write() <==> pure writes (excluding rmw) */
bool FuncInst::is_write() const
{
return type == ATOMIC_WRITE || type == ATOMIC_RMW || type == ATOMIC_INIT || type == ATOMIC_UNINIT || type == NONATOMIC_WRITE;
* location only stores the memory location when this FuncInst was constructed.
*/
void * location;
+
+ /* NOTE: for rmw actions, func_inst and act may have different
+ * action types because of action type conversion in ModelExecution */
action_type type;
+
memory_order order;
FuncNode * func_node;
};
#endif /* __FUNCINST_H__ */
-