3 ms·
1) data races are undefined at the hardware level 2) poking at random memory mapped hardware registers can produce such forms of UB that C++ can only dream to.
by gpderetta 4y ago
1) data races are undefined at the hardware level
2) poking at random memory mapped hardware registers can produce such forms of UB that C++ can only dream to.
- tialaramex 4y ago> data races are undefined at the hardware level Um, what? To have a data race you need a formal model that doesn't exist for the hardware. > poking at random memory mapped hardware registers can produce such forms of UB that C++ can only dream to. When they say "Undefined" they really meant it, C++ UB is allowed to do MMIO, or whatever else.
- gpderetta 4y ago> Um, what? To have a data race you need a formal model that doesn't exist for the hardware. Intel and other manufacturers do provide a model for their hardware (although it is a relatively recent thing and has been formalized outside of intel). > When they say "Undefined" they really meant it, C++ UB is allowed to do MMIO, or whatever else. Well, I do give you that.