Don't use volatile to mean atomic
volatile is not sufficient to provide atomic guarantees and real atomics should be used instead. GCC 11 has started warning about using volatile with atomic operations.
In case of orc, the volatile integers were always protected with a mutex, which makes it completely unnecessary.