@@ -20,7 +20,8 @@ for example:
2020 or an invalid enum discriminant)
2121* ** Experimental** : Violations of the [ Stacked Borrows] rules governing aliasing
2222 for reference types
23- * ** Experimental** : Data races (but no weak memory effects)
23+ * ** Experimental** : Data races
24+ * ** Experimental** : Weak memory emulation
2425
2526On top of that, Miri will also tell you about memory leaks: when there is memory
2627still allocated at the end of the execution, and that memory is not reachable
@@ -62,9 +63,11 @@ in your program, and cannot run all programs:
6263 not support networking. System API support varies between targets; if you run
6364 on Windows it is a good idea to use ` --target x86_64-unknown-linux-gnu ` to get
6465 better support.
65- * Threading support is not finished yet. E.g., weak memory effects are not
66- emulated and spin loops (without syscalls) just loop forever. There is no
67- threading support on Windows.
66+ * Threading support is not finished yet. E.g. spin loops (without syscalls) just
67+ loop forever. There is no threading support on Windows.
68+ * Weak memory emulation may produce weak behaivours unobservable by compiled
69+ programs running on real hardware when ` SeqCst ` fences are used, and it cannot
70+ produce all behaviors possibly observable on real hardware.
6871
6972[ rust ] : https://www.rust-lang.org/
7073[ mir ] : https://github.com/rust-lang/rfcs/blob/master/text/1211-mir.md
@@ -253,20 +256,20 @@ environment variable:
253256 Using this flag is **unsound**.
254257* `-Zmiri-disable-data-race-detector` disables checking for data races. Using
255258 this flag is **unsound**. This implies `-Zmiri-disable-weak-memory-emulation`.
259+ * `-Zmiri-disable-isolation` disables host isolation. As a consequence,
260+ the program has access to host resources such as environment variables, file
261+ systems, and randomness.
256262* `-Zmiri-disable-stacked-borrows` disables checking the experimental
257263 [Stacked Borrows] aliasing rules. This can make Miri run faster, but it also
258264 means no aliasing violations will be detected. Using this flag is **unsound**
259265 (but the affected soundness rules are experimental).
260- * `-Zmiri-disable-weak-memory-emulation` disables the emulation of some C++11 weak
261- memory effects.
262266* `-Zmiri-disable-validation` disables enforcing validity invariants, which are
263267 enforced by default. This is mostly useful to focus on other failures (such
264268 as out-of-bounds accesses) first. Setting this flag means Miri can miss bugs
265269 in your program. However, this can also help to make Miri run faster. Using
266270 this flag is **unsound**.
267- * `-Zmiri-disable-isolation` disables host isolation. As a consequence,
268- the program has access to host resources such as environment variables, file
269- systems, and randomness.
271+ * `-Zmiri-disable-weak-memory-emulation` disables the emulation of some C++11 weak
272+ memory effects.
270273* `-Zmiri-isolation-error=<action>` configures Miri's response to operations
271274 requiring host access while isolation is enabled. `abort`, `hide`, `warn`,
272275 and `warn-nobacktrace` are the supported actions. The default is to `abort`,
0 commit comments