resize(q);
//Bug in paper...should have next line...
a = (Array *) atomic_load_explicit(&q->array, memory_order_relaxed);
+ /**
+ @Begin
+ @Commit_point_define_check: true
+ @Label: Push_Read_Array
+ @End
+ */
}
int size = atomic_load_explicit(&a->size, memory_order_relaxed);
+
atomic_store_explicit(&a->buffer[b % size], x, memory_order_relaxed);
/**
@Begin
@Commit_point_define_check: true
- @Label: Push_Point
+ @Label: Push_Update_Buffer
@End
*/
/**** correctness error ****/
atomic_thread_fence(memory_order_release);
atomic_store_explicit(&q->bottom, b + 1, memory_order_relaxed);
-
+ /**
+ @Begin
+ @Commit_point_define_check: true
+ @Label: Push_Update_Bottom
+ @End
+ */
}
/**