Documentation

Miri.Interpreter.WindowsThreadMachine

Actual ThreadStacks creation, non-exclusive Windows joining, vector clocks, and the same TLS storage used by ThreadTlsMachine's destructor engine.

def Miri.Interpreter.WindowsThreadMachine.join {K U C O X F A Aff : Type} (h : ThreadMachine.Hooks K U C O X F A Aff) (choice : C) (joined : Concurrency.ThreadId) (value : Memory.Scalar Memory.Provenance) (dest : MPlaceTy Memory.Provenance) :

Unlike pthread join, Windows permits repeated joins and joining oneself blocks. A closed/detached handle remains UB. Continuations use the canonical ThreadMachine join arena and resumeJoin consumes them before invocation.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def Miri.Interpreter.WindowsThreadMachine.bind {K U C O X F A Aff FD : Type} [DecidableEq K] (h : ThreadMachine.Hooks K U C O X F A Aff) (choice : C) (systemAbi : X) (reuseClock : Option Concurrency.VectorIdx) (base : WindowsThread.Hooks (ThreadStacks.State K U) FD) :

    System ABI is a required target/compiler value, including x86 stdcall.

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

      TLS and fiber-local keys share exactly the destructor engine's map.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Miri.Interpreter.WindowsThreadMachine.bindNames {S Os Kind FD : Type} (strings : OsStrings.Hooks Memory.Provenance S Os Kind) (winLocal : Kind) (base : WindowsThread.Hooks S FD) :

        Name allocation uses actual lossless host bytes conversion and WinLocal allocation; no UTF-8-only substitute or invented allocation identity.

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