miri::shims::tls

Trait EvalContextPrivExt

Source
trait EvalContextPrivExt<'tcx>: MiriInterpCxExt<'tcx> {
    // Provided methods
    fn lookup_windows_tls_dtors(
        &mut self,
    ) -> InterpResult<'tcx, Vec<ImmTy<'tcx>>> { ... }
    fn schedule_windows_tls_dtor(
        &mut self,
        dtor: ImmTy<'tcx>,
    ) -> InterpResult<'tcx> { ... }
    fn schedule_macos_tls_dtor(&mut self) -> InterpResult<'tcx, Poll<()>> { ... }
    fn schedule_next_pthread_tls_dtor(
        &mut self,
        state: &mut RunningDtorState,
    ) -> InterpResult<'tcx, Poll<()>> { ... }
}

Provided Methods§

Source

fn lookup_windows_tls_dtors(&mut self) -> InterpResult<'tcx, Vec<ImmTy<'tcx>>>

Schedule TLS destructors for Windows. On windows, TLS destructors are managed by std.

Source

fn schedule_windows_tls_dtor(&mut self, dtor: ImmTy<'tcx>) -> InterpResult<'tcx>

Source

fn schedule_macos_tls_dtor(&mut self) -> InterpResult<'tcx, Poll<()>>

Schedule the macOS thread local storage destructors to be executed.

Source

fn schedule_next_pthread_tls_dtor( &mut self, state: &mut RunningDtorState, ) -> InterpResult<'tcx, Poll<()>>

Schedule a pthread TLS destructor. Returns true if found a destructor to schedule, and false otherwise.

Implementors§

Source§

impl<'tcx> EvalContextPrivExt<'tcx> for MiriInterpCx<'tcx>