LISA WWC+poacquirerelease+poonceonce+Once
"RfeOnceAcquire PodRWAcquireRelease RfeReleaseOnce PodRWOnceOnce WseOnceOnce"
Cycle=PodRWAcquireRelease RfeReleaseOnce PodRWOnceOnce WseOnceOnce RfeOnceAcquire
Relax=RfeOnceAcquire RfeReleaseOnce
Safe=PodRWAcquireRelease WseOnceOnce PodRWOnceOnce
Prefetch=1:x=F,1:y=W,2:y=F,2:x=W
Com=Rf Rf Ws
Orig=RfeOnceAcquire PodRWAcquireRelease RfeReleaseOnce PodRWOnceOnce WseOnceOnce
{
}
P0 | P1 | P2 ;
w[once] x 2 | r[acquire] r0 x | r[once] r0 y ;
| w[release] y 1 | w[once] x 1 ;
Observed
x=2; 2:r0=1; 1:r0=2;
and x=2; 2:r0=1; 1:r0=1;
and x=1; 2:r0=1; 1:r0=1;