File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -1763,10 +1763,11 @@ pub const unsafe fn write_unaligned<T>(dst: *mut T, src: T) {
1763
1763
/// - When a volatile operation is used for memory inside an [allocation], it behaves exactly like
1764
1764
/// [`read`], except for the additional guarantee that it won't be elided or reordered (see
1765
1765
/// above). This implies that the operation will actually access memory and not e.g. be lowered to
1766
- /// a register access or stack pop. Other than that, all the usual rules for memory accesses apply
1767
- /// (including provenance). In particular, just like in C, whether an operation is volatile has no
1768
- /// bearing whatsoever on questions involving concurrent access from multiple threads. Volatile
1769
- /// accesses behave exactly like non-atomic accesses in that regard.
1766
+ /// reusing data from a previous read, such as a register that performed a previous load on that
1767
+ /// memory. Other than that, all the usual rules for memory accesses apply (including provenance).
1768
+ /// In particular, just like in C, whether an operation is volatile has no bearing whatsoever on
1769
+ /// questions involving concurrent access from multiple threads. Volatile accesses behave exactly
1770
+ /// like non-atomic accesses in that regard.
1770
1771
///
1771
1772
/// - Volatile operations, however, may also be used to access memory that is _outside_ of any Rust
1772
1773
/// allocation. In this use-case, the pointer does *not* have to be [valid] for reads. This is
You can’t perform that action at this time.
0 commit comments