Trait miri::intrinsics::EvalContextExt
source · pub trait EvalContextExt<'mir, 'tcx: 'mir>: MiriInterpCxExt<'mir, 'tcx> {
// Provided methods
fn call_intrinsic(
&mut self,
instance: Instance<'tcx>,
args: &[OpTy<'tcx, Provenance>],
dest: &MPlaceTy<'tcx, Provenance>,
ret: Option<BasicBlock>,
unwind: UnwindAction
) -> InterpResult<'tcx, Option<Instance<'tcx>>> { ... }
fn emulate_intrinsic_by_name(
&mut self,
intrinsic_name: &str,
generic_args: GenericArgsRef<'tcx>,
args: &[OpTy<'tcx, Provenance>],
dest: &MPlaceTy<'tcx, Provenance>,
ret: Option<BasicBlock>
) -> InterpResult<'tcx, EmulateItemResult> { ... }
}Provided Methods§
fn call_intrinsic( &mut self, instance: Instance<'tcx>, args: &[OpTy<'tcx, Provenance>], dest: &MPlaceTy<'tcx, Provenance>, ret: Option<BasicBlock>, unwind: UnwindAction ) -> InterpResult<'tcx, Option<Instance<'tcx>>>
sourcefn emulate_intrinsic_by_name(
&mut self,
intrinsic_name: &str,
generic_args: GenericArgsRef<'tcx>,
args: &[OpTy<'tcx, Provenance>],
dest: &MPlaceTy<'tcx, Provenance>,
ret: Option<BasicBlock>
) -> InterpResult<'tcx, EmulateItemResult>
fn emulate_intrinsic_by_name( &mut self, intrinsic_name: &str, generic_args: GenericArgsRef<'tcx>, args: &[OpTy<'tcx, Provenance>], dest: &MPlaceTy<'tcx, Provenance>, ret: Option<BasicBlock> ) -> InterpResult<'tcx, EmulateItemResult>
Emulates a Miri-supported intrinsic (not supported by the core engine).
Returns Ok(true) if the intrinsic was handled.