Documentation

Miri.Interpreter.TlsDestructors

Pinned shims/tls.rs::TlsDtorsState::on_stack_empty (247-345), schedule_thread_atexit (392-417), schedule_next_pthread_tls_dtor (423-460), schedule_next_windows_fls_dtor (465-531), schedule_windows_tls_dtor (365-389). Each call schedules an actual canonical instance call; Pending is not success of the destructor body. Re-entry occurs only after its stack becomes empty.

Instances For
    Instances For
      Instances For
        Instances For
          Instances For
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Instances For
                  @[reducible, inline]
                  abbrev Miri.Interpreter.TlsM (P E H Error A : Type) :
                  Equations
                  Instances For
                    Instances For

                      One source on_stack_empty callback invocation. Stage changes which precede calls and mutations remain on errors; transitions after a failed lookup/call are not performed. There is no fuel cutoff for pthread destructor rounds.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Miri.Interpreter.finishThreadOnStackEmpty {P E H Error ProvExtra : Type} [Memory.PointerProvenance P] (platform : TlsPlatform) (target : ABI.RuntimeTargetDataLayout) (destructors : TlsDestructorQueries P E H Error) (exit : ThreadExitQueries P E H ProvExtra Error) :
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For