pub enum JvmInstruction {
Show 168 variants
Nop,
AconstNull,
IconstM1,
Iconst0,
Iconst1,
Iconst2,
Iconst3,
Iconst4,
Iconst5,
Lconst0,
Lconst1,
Fconst0,
Fconst1,
Fconst2,
Dconst0,
Dconst1,
Bipush {
value: i8,
},
Sipush {
value: i16,
},
Ldc {
symbol: String,
},
LdcW {
symbol: String,
},
Ldc2W {
symbol: String,
},
Iload {
index: u16,
},
Lload {
index: u16,
},
Fload {
index: u16,
},
Dload {
index: u16,
},
Aload {
index: u16,
},
Iload0,
Iload1,
Iload2,
Iload3,
Lload0,
Lload1,
Lload2,
Lload3,
Fload0,
Fload1,
Fload2,
Fload3,
Dload0,
Dload1,
Dload2,
Dload3,
Aload0,
Aload1,
Aload2,
Aload3,
Istore {
index: u16,
},
Lstore {
index: u16,
},
Fstore {
index: u16,
},
Dstore {
index: u16,
},
Astore {
index: u16,
},
Istore0,
Istore1,
Istore2,
Istore3,
Lstore0,
Lstore1,
Lstore2,
Lstore3,
Fstore0,
Fstore1,
Fstore2,
Fstore3,
Dstore0,
Dstore1,
Dstore2,
Dstore3,
Astore0,
Astore1,
Astore2,
Astore3,
Pop,
Pop2,
Dup,
DupX1,
DupX2,
Dup2,
Dup2X1,
Dup2X2,
Swap,
Iadd,
Ladd,
Fadd,
Dadd,
Isub,
Lsub,
Fsub,
Dsub,
Imul,
Lmul,
Fmul,
Dmul,
Idiv,
Ldiv,
Fdiv,
Ddiv,
Irem,
Lrem,
Frem,
Drem,
Ineg,
Lneg,
Fneg,
Dneg,
Ishl,
Lshl,
Ishr,
Lshr,
Iushr,
Lushr,
Iand,
Land,
Ior,
Lor,
Ixor,
Lxor,
Lcmp,
Fcmpl,
Fcmpg,
Dcmpl,
Dcmpg,
Ifeq {
target: String,
},
Ifne {
target: String,
},
Iflt {
target: String,
},
Ifge {
target: String,
},
Ifgt {
target: String,
},
Ifle {
target: String,
},
IfIcmpeq {
target: String,
},
IfIcmpne {
target: String,
},
IfIcmplt {
target: String,
},
IfIcmpge {
target: String,
},
IfIcmpgt {
target: String,
},
IfIcmple {
target: String,
},
IfAcmpeq {
target: String,
},
IfAcmpne {
target: String,
},
Goto {
target: String,
},
Jsr {
target: String,
},
Ret {
index: u16,
},
Ireturn,
Lreturn,
Freturn,
Dreturn,
Areturn,
Return,
Getstatic {
class_name: String,
field_name: String,
descriptor: String,
},
Putstatic {
class_name: String,
field_name: String,
descriptor: String,
},
Getfield {
class_name: String,
field_name: String,
descriptor: String,
},
Putfield {
class_name: String,
field_name: String,
descriptor: String,
},
Invokevirtual {
class_name: String,
method_name: String,
descriptor: String,
},
Invokespecial {
class_name: String,
method_name: String,
descriptor: String,
},
Invokestatic {
class_name: String,
method_name: String,
descriptor: String,
},
Invokeinterface {
class_name: String,
method_name: String,
descriptor: String,
},
Invokedynamic {
class_name: String,
method_name: String,
descriptor: String,
},
New {
class_name: String,
},
Newarray {
atype: u8,
},
Anewarray {
class_name: String,
},
Arraylength,
Athrow,
Checkcast {
class_name: String,
},
Instanceof {
class_name: String,
},
Monitorenter,
Monitorexit,
Wide,
Multianewarray {
class_name: String,
dimensions: u8,
},
Ifnull {
target: String,
},
Ifnonnull {
target: String,
},
GotoW {
target: String,
},
JsrW {
target: String,
},
}Expand description
JVM 指令(高层表示)
Variants§
Nop
AconstNull
IconstM1
Iconst0
Iconst1
Iconst2
Iconst3
Iconst4
Iconst5
Lconst0
Lconst1
Fconst0
Fconst1
Fconst2
Dconst0
Dconst1
Bipush
Sipush
Ldc
LdcW
Ldc2W
Iload
Lload
Fload
Dload
Aload
Iload0
Iload1
Iload2
Iload3
Lload0
Lload1
Lload2
Lload3
Fload0
Fload1
Fload2
Fload3
Dload0
Dload1
Dload2
Dload3
Aload0
Aload1
Aload2
Aload3
Istore
Lstore
Fstore
Dstore
Astore
Istore0
Istore1
Istore2
Istore3
Lstore0
Lstore1
Lstore2
Lstore3
Fstore0
Fstore1
Fstore2
Fstore3
Dstore0
Dstore1
Dstore2
Dstore3
Astore0
Astore1
Astore2
Astore3
Pop
Pop2
Dup
DupX1
DupX2
Dup2
Dup2X1
Dup2X2
Swap
Iadd
Ladd
Fadd
Dadd
Isub
Lsub
Fsub
Dsub
Imul
Lmul
Fmul
Dmul
Idiv
Ldiv
Fdiv
Ddiv
Irem
Lrem
Frem
Drem
Ineg
Lneg
Fneg
Dneg
Ishl
Lshl
Ishr
Lshr
Iushr
Lushr
Iand
Land
Ior
Lor
Ixor
Lxor
Lcmp
Fcmpl
Fcmpg
Dcmpl
Dcmpg
Ifeq
Ifne
Iflt
Ifge
Ifgt
Ifle
IfIcmpeq
IfIcmpne
IfIcmplt
IfIcmpge
IfIcmpgt
IfIcmple
IfAcmpeq
IfAcmpne
Goto
Jsr
Ret
Ireturn
Lreturn
Freturn
Dreturn
Areturn
Return
Getstatic
Putstatic
Getfield
Putfield
Invokevirtual
Invokespecial
Invokestatic
Invokeinterface
Invokedynamic
New
Newarray
Anewarray
Arraylength
Athrow
Checkcast
Instanceof
Monitorenter
Monitorexit
Wide
Multianewarray
Ifnull
Ifnonnull
GotoW
JsrW
Implementations§
Trait Implementations§
Source§impl Clone for JvmInstruction
impl Clone for JvmInstruction
Source§fn clone(&self) -> JvmInstruction
fn clone(&self) -> JvmInstruction
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 JvmInstruction
impl Debug for JvmInstruction
Source§impl PartialEq for JvmInstruction
impl PartialEq for JvmInstruction
impl StructuralPartialEq for JvmInstruction
Auto Trait Implementations§
impl Freeze for JvmInstruction
impl RefUnwindSafe for JvmInstruction
impl Send for JvmInstruction
impl Sync for JvmInstruction
impl Unpin for JvmInstruction
impl UnwindSafe for JvmInstruction
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