Pinned unix/thread.rs, including actual create/join/detach/name policy. The pthread ABI type is always a compiler query, never an assumed host integer.
@[reducible, inline]
Instances For
- ok : NameResult
- tooLong : NameResult
Instances For
@[instance_reducible]
@[instance_reducible]
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
- pthreadLayout : M S LocalLayout
- unitPointerLayout : M S LocalLayout
- readScalar : OpTy Memory.Provenance → M S (Memory.Scalar Memory.Provenance)
- readPointer : OpTy Memory.Provenance → M S (Memory.Pointer (Option Memory.Provenance))
- readImmediate : OpTy Memory.Provenance → M S (RvalueImmTy Memory.Provenance)
- dereference : OpTy Memory.Provenance → LocalLayout → M S (MPlaceTy Memory.Provenance)
- isNull : Memory.Pointer (Option Memory.Provenance) → M S Bool
- scalarPointer : Memory.Scalar Memory.Provenance → M S (Memory.Pointer (Option Memory.Provenance))
- scalarUsize : Memory.Scalar Memory.Provenance → M S UInt64
- readCString : Memory.Pointer (Option Memory.Provenance) → M S ByteArray
- writeCString : ByteArray → Memory.Pointer (Option Memory.Provenance) → UInt64 → M S (Bool × UInt64)
- threads : M S Concurrency.ThreadManager
- putThreads : Concurrency.ThreadManager → M S Unit
- start : Option (MPlaceTy Memory.Provenance) → Memory.Pointer (Option Memory.Provenance) → RvalueImmTy Memory.Provenance → LocalLayout → M S Unit
- join : Concurrency.ThreadId → Memory.Scalar Memory.Provenance → MPlaceTy Memory.Provenance → M S Unit
- detach : Concurrency.ThreadId → M S Unit
- hostUsizeBits : Nat
Instances For
def
Miri.Interpreter.UnixThread.create
{S : Type}
(h : Hooks S)
(thread _attr start argument : OpTy Memory.Provenance)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.UnixThread.join
{S : Type}
(h : Hooks S)
(thread result : OpTy Memory.Provenance)
(dest : MPlaceTy Memory.Provenance)
:
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
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.UnixThread.setName
{S : Type}
(h : Hooks S)
(thread name : Memory.Scalar Memory.Provenance)
(maximum : UInt64)
(truncate : Bool)
:
M S NameResult
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.UnixThread.getName
{S : Type}
(h : Hooks S)
(thread output length : Memory.Scalar Memory.Provenance)
(truncate : Bool)
:
M S NameResult
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Miri.Interpreter.UnixThread.schedYield h = do let __do_lift ← h.threads h.putThreads __do_lift.yield