why? `volatile` only prevents the compiler to optimize the variable away.
Both variables are accessed and changed continuously, so they won't be optimized away