|
84 | 84 | //! have to change, and is it worse or better now? Would any patterns become truly inexpressible?
|
85 | 85 | //! Could we carve out special exceptions for those patterns? Should we?
|
86 | 86 | //!
|
87 |
| -//! A secondary goal of this project is to see if we can disamiguate the many functions of |
| 87 | +//! A secondary goal of this project is to see if we can disambiguate the many functions of |
88 | 88 | //! pointer<->integer casts enough for the definition of `usize` to be loosened so that it
|
89 | 89 | //! isn't *pointer*-sized but address-space/offset/allocation-sized (we'll probably continue
|
90 | 90 | //! to conflate these notions). This would potentially make it possible to more efficiently
|
|
163 | 163 | //! of pointers and `usize` (and `isize`), and defining a pointer to semantically contain the
|
164 | 164 | //! following information:
|
165 | 165 | //!
|
166 |
| -//! * The **address-space** it is part of (i.e. "data" vs "code" in WASM). |
| 166 | +//! * The **address-space** it is part of (e.g. "data" vs "code" in WASM). |
167 | 167 | //! * The **address** it points to, which can be represented by a `usize`.
|
168 | 168 | //! * The **provenance** it has, defining the memory it has permission to access.
|
169 | 169 | //!
|
|
246 | 246 | //! be using AtomicPtr instead. If that messes up the way you atomically manipulate pointers,
|
247 | 247 | //! we would like to know why, and what needs to be done to fix it.)
|
248 | 248 | //!
|
249 |
| -//! Something more complicated and just generally *evil* like a XOR-List requires more significant |
| 249 | +//! Something more complicated and just generally *evil* like an XOR-List requires more significant |
250 | 250 | //! changes like allocating all nodes in a pre-allocated Vec or Arena and using a pointer
|
251 | 251 | //! to the whole allocation to reconstitute the XORed addresses.
|
252 | 252 | //!
|
|
257 | 257 | //! special attention at all, because they're generally accessing memory outside the scope of
|
258 | 258 | //! "the abstract machine", or already using "I know what I'm doing" annotations like "volatile".
|
259 | 259 | //!
|
260 |
| -//! Under [Strict Provenance] is is Undefined Behaviour to: |
| 260 | +//! Under [Strict Provenance] it is Undefined Behaviour to: |
261 | 261 | //!
|
262 | 262 | //! * Access memory through a pointer that does not have provenance over that memory.
|
263 | 263 | //!
|
|
0 commit comments