You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: reference/src/glossary.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -100,7 +100,7 @@ Abstract Rust Machine is intended to operate according to the definition here.
100
100
101
101
An *allocation* is a chunk of memory that is addressable from Rust.
102
102
Allocations are created for objects on the heap, for stack-allocated variables, for globals (statics and consts), but also for objects that do not have Rust-inspectable data such as functions and vtables.
103
-
An allocation has a contiguous range of [memory addresses][memory-address] that it covers, and it can generally only be deallocated all at once.
103
+
An allocation has a contiguous range of [memory addresses][memoryaddress] that it covers, and it can generally only be deallocated all at once.
104
104
(Though in the future, we might allow allocations with holes, and we might allow growing/shrinking an allocation.)
105
105
This range can be empty, but even empty allocations have a *base address* that they are located at.
106
106
The base address of an allocation is not necessarily unique; but if two distinct allocations have the same base address then at least one of them must be empty.
@@ -199,7 +199,7 @@ The key operations on a place are:
199
199
### Pointer Provenance
200
200
[provenance]: #pointer-provenance
201
201
202
-
The *provenance* of a pointer is used to distinguish pointers that point to the same [memory address][memory-address] (i.e., pointers that, when cast to `usize`, will compare equal).
202
+
The *provenance* of a pointer is used to distinguish pointers that point to the same [memory address] (i.e., pointers that, when cast to `usize`, will compare equal).
203
203
Provenance is extra state that only exists in the Rust Abstract Machine; it is needed to specify program behavior but not present any more when the program runs on real hardware.
204
204
In other words, pointers that only differ in their provenance can *not* be distinguished any more in the final binary (but provenance can influence how the compiler translates the program).
0 commit comments