Documentation

Miri.Interpreter.ProvenanceGC

Source provenance_gc.rs, machine.rs::VisitProvenance, thread.rs frame visitors. This collects provenance as ghost data: it performs no Rust memory read, initialization check, race access or retag. Missing user-state visitors remain required operations; arbitrary empty roots are not a closed interpreter.

Equations
Instances For
    Equations
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Equations
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              Allocation bytes include partial pointer fragments. Tree roots/exposed tags are visited even for allocations with no reachable pointer; allocation IDs of live entries themselves are deliberately not added to the collected set.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  The arena is only a representation of the actual per-thread payload vectors: visit exactly referenced entries, and reject missing/ambiguous tokens. Unused arena slots are not roots.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Concrete visitors for user-embedded state must cover inactive stacks, unwind payloads, last-error storage, thread-local allocations, TLS, env/dirs/fds, weak store buffers, entry pointers and extern statics. Do not use a callback that ignores a field merely because its source module has not been ported. Machine alloc-address/TB/VClock globals intentionally carry no GC roots.

                    Instances For

                      Full source collection and pruning order. All live bytes are scanned, including leaked allocations. Global compiler allocations count as live via MemoryState.isAllocLive but are not prematurely materialized by collection.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For