#[repr(u16)]pub enum PseudoInstruction {
AnnotationsPlaceholder = 256,
Jump {
delta: Arg<Label>,
},
JumpIfFalse {
delta: Arg<Label>,
},
JumpIfTrue {
delta: Arg<Label>,
},
JumpNoInterrupt {
delta: Arg<Label>,
},
LoadClosure {
i: Arg<u32>,
},
PopBlock = 262,
SetupCleanup {
delta: Arg<Label>,
},
SetupFinally {
delta: Arg<Label>,
},
SetupWith {
delta: Arg<Label>,
},
StoreFastMaybeNull {
var_num: Arg<u32>,
},
}Expand description
Instructions used by the compiler. They are not executed by the VM.
CPython 3.14.2 aligned (256-266).
Variants§
AnnotationsPlaceholder = 256
Jump
JumpIfFalse
JumpIfTrue
JumpNoInterrupt
LoadClosure
PopBlock = 262
SetupCleanup
SetupFinally
SetupWith
StoreFastMaybeNull
Implementations§
Source§impl PseudoInstruction
impl PseudoInstruction
Sourcepub fn is_block_push(&self) -> bool
pub fn is_block_push(&self) -> bool
Returns true if this is a block push pseudo instruction (SETUP_FINALLY, SETUP_CLEANUP, or SETUP_WITH).
Trait Implementations§
Source§impl Clone for PseudoInstruction
impl Clone for PseudoInstruction
Source§fn clone(&self) -> PseudoInstruction
fn clone(&self) -> PseudoInstruction
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PseudoInstruction
impl Debug for PseudoInstruction
Source§impl From<PseudoInstruction> for AnyInstruction
impl From<PseudoInstruction> for AnyInstruction
Source§fn from(value: PseudoInstruction) -> AnyInstruction
fn from(value: PseudoInstruction) -> AnyInstruction
Converts to this type from the input type.
Source§impl InstructionMetadata for PseudoInstruction
impl InstructionMetadata for PseudoInstruction
Source§fn label_arg(&self) -> Option<Arg<Label>>
fn label_arg(&self) -> Option<Arg<Label>>
Gets the label stored inside this instruction, if it exists.
fn is_scope_exit(&self) -> bool
Source§fn stack_effect_info(&self, _oparg: u32) -> StackEffect
fn stack_effect_info(&self, _oparg: u32) -> StackEffect
Stack effect info for how many items are pushed/popped from the stack,
for this instruction.
fn is_unconditional_jump(&self) -> bool
fn fmt_dis( &self, _arg: OpArg, _f: &mut Formatter<'_>, _ctx: &impl InstrDisplayContext, _expand_code_objects: bool, _pad: usize, _level: usize, ) -> Result<(), Error>
Source§fn stack_effect(&self, oparg: u32) -> i32
fn stack_effect(&self, oparg: u32) -> i32
Stack effect of
Self::stack_effect_info.fn display(&self, arg: OpArg, ctx: &impl InstrDisplayContext) -> impl Display
Source§impl TryFrom<u16> for PseudoInstruction
impl TryFrom<u16> for PseudoInstruction
Source§type Error = MarshalError
type Error = MarshalError
The type returned in the event of a conversion error.
Source§fn try_from(value: u16) -> Result<PseudoInstruction, MarshalError>
fn try_from(value: u16) -> Result<PseudoInstruction, MarshalError>
Performs the conversion.
impl Copy for PseudoInstruction
Auto Trait Implementations§
impl Freeze for PseudoInstruction
impl RefUnwindSafe for PseudoInstruction
impl Send for PseudoInstruction
impl Sync for PseudoInstruction
impl Unpin for PseudoInstruction
impl UnsafeUnpin for PseudoInstruction
impl UnwindSafe for PseudoInstruction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more