*/
t_element * read_fetch() {
// Try this new weaker semantics
- //unsigned int rdwr = m_rdwr.load(mo_acquire);
- unsigned int rdwr = m_rdwr.load(mo_relaxed);
+ unsigned int rdwr = m_rdwr.load(mo_acquire);
+ //unsigned int rdwr = m_rdwr.load(mo_relaxed);
/**
@Begin
@Potential_commit_point_define: true
@End
*/
void read_consume(t_element *bin) {
+ /**** FIXME: miss ****/
m_read.fetch_add(1,mo_release);
/**
@Begin
*/
t_element * write_prepare() {
// Try weaker semantics
- //unsigned int rdwr = m_rdwr.load(mo_acquire);
- unsigned int rdwr = m_rdwr.load(mo_relaxed);
+ unsigned int rdwr = m_rdwr.load(mo_acquire);
+ //unsigned int rdwr = m_rdwr.load(mo_relaxed);
/**
@Begin
@Potential_commit_point_define: true
*/
void write_publish(t_element *bin)
{
+ /**** hb violation ****/
m_written.fetch_add(1,mo_release);
/**
@Begin