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§
Sourcefn handle_miri_start_unwind(
&mut self,
payload: &OpTy<'tcx>,
) -> InterpResult<'tcx>
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.
Sourcefn 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_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.