EvalContextExt

Trait EvalContextExt 

Source
pub trait EvalContextExt<'tcx>: MiriInterpCxExt<'tcx> {
    // Provided methods
    fn handle_miri_start_unwind(
        &mut self,
        payload: &OpTy<'tcx>,
    ) -> InterpResult<'tcx> { ... }
    fn handle_catch_unwind(
        &mut self,
        try_fn: &OpTy<'tcx>,
        data: &OpTy<'tcx>,
        catch_fn: &OpTy<'tcx>,
        dest: &MPlaceTy<'tcx>,
        ret: Option<BasicBlock>,
    ) -> InterpResult<'tcx> { ... }
    fn handle_stack_pop_unwind(
        &mut self,
        extra: FrameExtra<'tcx>,
        unwinding: bool,
    ) -> InterpResult<'tcx, ReturnAction> { ... }
}

Provided Methods§

Source

fn handle_miri_start_unwind( &mut self, payload: &OpTy<'tcx>, ) -> InterpResult<'tcx>

Handles the special miri_start_unwind intrinsic, which is called by libpanic_unwind to delegate the actual unwinding process to Miri.

Source

fn handle_catch_unwind( &mut self, try_fn: &OpTy<'tcx>, data: &OpTy<'tcx>, catch_fn: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ret: Option<BasicBlock>, ) -> InterpResult<'tcx>

Handles the catch_unwind intrinsic.

Source

fn handle_stack_pop_unwind( &mut self, extra: FrameExtra<'tcx>, unwinding: bool, ) -> InterpResult<'tcx, ReturnAction>

Implementors§

Source§

impl<'tcx> EvalContextExt<'tcx> for MiriInterpCx<'tcx>