Build the source Unix/Linux memory shims over the execution's canonical memory, allocation, provenance, Tree Borrows and errno state. Host resources do not participate in these operations.
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
fromSource derives target layouts, constants, frame policy and ABI from
the prepared compiler. The supplied memory bundle is the one used by MIR, so
pointer-output writes and remap allocation retain the live execution state.
def
Miri.Input.EvalUnixMemoryConstruction.fromSource
{U Os E B I C Payload : Type}
[DecidableEq Memory.MiriMemoryKind]
(p : CompilerProviders.Prepared)
(userRelevantCrates : Array Nat)
(environment : Interpreter.UnixEnvironmentDispatch.Hooks (RuntimeState U) Os E Interpreter.EnvVars.Kind)
(signatures :
Interpreter.ShimSignatures.Hooks Memory.Provenance (RuntimeState U) MIR.Place (Interpreter.MPlaceTy Memory.Provenance)
(Memory.Pointer (Option Memory.Provenance)) B I)
(memory : EvalHostRuntimeConstruction.EnvironmentMemory U C Payload)
(extras : Interpreter.MemoryExtras.Hooks Memory.MiriMemoryKind (Interpreter.PointerMachine.User U) Payload)
(spans : Interpreter.AllocationDriver.SpanHooks)
(place : Interpreter.PlaceHooks Memory.Provenance (RuntimeState U) C Interpreter.MachineHooks.FrameExtra)
(choice : C)
(pageSize : UInt64)
:
Equations
- One or more equations did not get rendered due to their size.