I see a compiler_barrier() is just empty asm, however shouldn't it be a core::sync::atomic::compiler_fence(Ordering::SeqCst) instead?
Also, all the memory barrier instructions should probably be guarded with compiler fences like here (see discussion in rust-embedded/cortex-m#308 and fix in rust-embedded/cortex-m#311).
I see a
compiler_barrier()is just empty asm, however shouldn't it be acore::sync::atomic::compiler_fence(Ordering::SeqCst)instead?Also, all the memory barrier instructions should probably be guarded with compiler fences like here (see discussion in rust-embedded/cortex-m#308 and fix in rust-embedded/cortex-m#311).