Expand description
Experimental support for emitting retags as function calls in generated code.
We attempt to retag every argument and return value of a function, and every rvalue
of an assignment. The first step to retagging is to generate a RetagPlan, which
describes which pointers within the place or operand can be retagged. Then, we traverse
the RetagPlan to emit the calls.
Structsยง
- Unsafe
Cell ๐Ranges - Collects the ranges within a type that are covered by
UnsafeCell. - Unsafe
Pinned ๐Ranges - Collects the ranges within a type that are covered by
UnsafePinned.
Enumsยง
- Retag
Fields ๐ - The layout of the fields that need to be retagged.
- Retag
Plan ๐ - A description of the pointers within a type that need to be retagged.
Traitsยง
- PerByte
Tracking ๐ - A visitor trait for collecting the ranges within a layout that satisfy a given predicate.
Functionsยง
- rvalue_
needs_ ๐retag - within_
loop ๐ - Creates a simple loop, iterating the specified number of times. The dynamic value of the loop counter is passed as an argument to the closure.