Trait miri::shims::panic::EvalContextExt
source · pub trait EvalContextExt<'mir, 'tcx: 'mir>: MiriEvalContextExt<'mir, 'tcx> {
fn handle_miri_start_panic(
&mut self,
abi: Abi,
link_name: Symbol,
args: &[OpTy<'tcx, Provenance>],
unwind: StackPopUnwind
) -> 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: FrameData<'tcx>,
unwinding: bool
) -> InterpResult<'tcx, StackPopJump> { ... }
fn start_panic(
&mut self,
msg: &str,
unwind: StackPopUnwind
) -> InterpResult<'tcx> { ... }
fn assert_panic(
&mut self,
msg: &AssertMessage<'tcx>,
unwind: Option<BasicBlock>
) -> InterpResult<'tcx> { ... }
}
Provided Methods
sourcefn handle_miri_start_panic(
&mut self,
abi: Abi,
link_name: Symbol,
args: &[OpTy<'tcx, Provenance>],
unwind: StackPopUnwind
) -> InterpResult<'tcx>
fn handle_miri_start_panic(
&mut self,
abi: Abi,
link_name: Symbol,
args: &[OpTy<'tcx, Provenance>],
unwind: StackPopUnwind
) -> 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
.
sourcefn handle_stack_pop_unwind(
fn handle_stack_pop_unwind(
&mut self,
extra: FrameData<'tcx>,
unwinding: bool
) -> InterpResult<'tcx, StackPopJump>
sourcefn start_panic(&mut self, msg: &str, unwind: StackPopUnwind) -> InterpResult<'tcx>
fn start_panic(&mut self, msg: &str, unwind: StackPopUnwind) -> InterpResult<'tcx>
Start a panic in the interpreter with the given message as payload.
sourcefn assert_panic(