Trait miri::shims::panic::EvalContextExt
source · pub trait EvalContextExt<'mir, 'tcx: 'mir>: MiriInterpCxExt<'mir, 'tcx> {
// Provided methods
fn handle_miri_start_panic(
&mut self,
abi: Abi,
link_name: Symbol,
args: &[OpTy<'tcx, Provenance>],
unwind: UnwindAction
) -> InterpResult<'tcx> { ... }
fn handle_try(
&mut self,
args: &[OpTy<'tcx, Provenance>],
dest: &PlaceTy<'tcx, Provenance>,
ret: BasicBlock
) -> InterpResult<'tcx> { ... }
fn handle_stack_pop_unwind(
&mut self,
extra: FrameExtra<'tcx>,
unwinding: bool
) -> InterpResult<'tcx, StackPopJump> { ... }
fn start_panic(
&mut self,
msg: &str,
unwind: UnwindAction
) -> InterpResult<'tcx> { ... }
fn start_panic_nounwind(&mut self, msg: &str) -> InterpResult<'tcx> { ... }
fn assert_panic(
&mut self,
msg: &AssertMessage<'tcx>,
unwind: UnwindAction
) -> InterpResult<'tcx> { ... }
}
Provided Methods§
sourcefn handle_miri_start_panic(
&mut self,
abi: Abi,
link_name: Symbol,
args: &[OpTy<'tcx, Provenance>],
unwind: UnwindAction
) -> InterpResult<'tcx>
fn handle_miri_start_panic( &mut self, abi: Abi, link_name: Symbol, args: &[OpTy<'tcx, Provenance>], unwind: UnwindAction ) -> InterpResult<'tcx>
Handles the special miri_start_panic
intrinsic, which is called
by libpanic_unwind to delegate the actual unwinding process to Miri.
sourcefn handle_try(
&mut self,
args: &[OpTy<'tcx, Provenance>],
dest: &PlaceTy<'tcx, Provenance>,
ret: BasicBlock
) -> InterpResult<'tcx>
fn handle_try( &mut self, args: &[OpTy<'tcx, Provenance>], dest: &PlaceTy<'tcx, Provenance>, ret: BasicBlock ) -> InterpResult<'tcx>
Handles the try
intrinsic, the underlying implementation of std::panicking::try
.
fn handle_stack_pop_unwind( &mut self, extra: FrameExtra<'tcx>, unwinding: bool ) -> InterpResult<'tcx, StackPopJump>
sourcefn start_panic(&mut self, msg: &str, unwind: UnwindAction) -> InterpResult<'tcx>
fn start_panic(&mut self, msg: &str, unwind: UnwindAction) -> InterpResult<'tcx>
Start a panic in the interpreter with the given message as payload.
sourcefn start_panic_nounwind(&mut self, msg: &str) -> InterpResult<'tcx>
fn start_panic_nounwind(&mut self, msg: &str) -> InterpResult<'tcx>
Start a non-unwinding panic in the interpreter with the given message as payload.