- void enqueue(int val) {
- node* n = new node(val);
- node *h = head.load(wildcard(2));
- h->next.store(n, wildcard(3));/*@ \label{line:spscRelease} @*/
- head.store(n, wildcard(4));
+ void enqueue(int idx) {
+ node* n = new node(idx);
+ tail->next.store(n, relaxed); // Should be release/*@ \label{line:spscRelease} @*/
+ tail = n;