Documentation

Miri.TreeBorrows.RetagPipelineEffectful

Effectful source-ordered Tree Borrows reborrow core. Compiler request values are shared with the legacy pure fixture API; precomputed hooks.dataRace values are deliberately not consulted by this engine.

Instances For
    def Miri.TreeBorrows.RetagPipeline.Effectful.instReprError.repr {HookError✝ : Type} [Repr HookError✝] :
    Error HookError✝ → Nat → Std.Format
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      A concurrency leaf changes external clock/store state, never the borrowed Tree Borrows allocation itself. All changes before errors remain available.

      • external : External
      • outcome : Except HookError Unit
      Instances For
        structure Miri.TreeBorrows.RetagPipeline.Effectful.Hooks (MachineKind External HookError : Type) :
        Instances For
          structure Miri.TreeBorrows.RetagPipeline.Effectful.Result (MachineKind External HookError : Type) :
          Instances For
            def Miri.TreeBorrows.RetagPipeline.Effectful.retagPointerValue {MachineKind External HookError : Type} [DecidableEq MachineKind] (state : MachineState MachineKind) (request : Request) (external : External) (effects : Hooks MachineKind External HookError) :
            Result MachineKind External HookError

            Source tb_retag_ptr_value followed by tb_retag_place and the allocation-local portion of tb_reborrow. Policy selection precedes place conversion; the dynamic-size query precedes new_ptr; pointer validation follows tag allocation. Hook failures return the state accumulated up to that source point, including installed protectors and earlier parent accesses.

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