Documentation

Miri.Interpreter.Native.Bindings

def Miri.Interpreter.Native.withSupervisor {P S C V Code : Type} (h : Hooks P S C V Code) (child : Trace.ChildHooks S C) (ffi : C → Code → Array OwnedArg → FfiType → ABI.Size → RvalueM S (Array UInt8)) :
Hooks P S C V Code

Install the concrete Rust supervisor/interchange pipeline around the only remaining actual libffi invocation leaf. The external implementation must build the source Cif from descriptors, consume each descriptor exactly once, and allocate the return buffer of the supplied byte size before invoking the code.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def Miri.Interpreter.Native.callFnArgs {P S C V Code : Type} [Memory.PointerProvenance P] (h : Hooks P S C V Code) (choice : C) (fuel : Nat) (name : String) (dest : V) (args : Array (FnArg P)) :

    Canonical call operands retain InPlace arguments as their original memory places. This matches source copy_fn_args; moving/resetting them is not invented.

    Equations
    Instances For