Skip to main content

Opcode

Enum Opcode 

Source
#[repr(u8)]
pub enum Opcode {
Show 202 variants Aaload = 50, Aastore = 83, AconstNull = 1, Aload = 25, Aload0 = 42, Aload1 = 43, Aload2 = 44, Aload3 = 45, Anewarray = 189, Areturn = 176, ArrayLength = 190, Astore = 58, Astore0 = 75, Astore1 = 76, Astore2 = 77, Astore3 = 78, Athrow = 191, Baload = 51, Bastore = 84, Bipush = 16, Breakpoint = 202, Caload = 52, Castore = 85, Checkcast = 192, D2f = 144, D2i = 142, D2l = 143, Dadd = 99, Daload = 49, Dastore = 82, Dcmpg = 152, Dcmpl = 151, Dconst0 = 14, Dconst1 = 15, Ddiv = 111, Dload = 24, Dload0 = 38, Dload1 = 39, Dload2 = 40, Dload3 = 41, Dmul = 107, Dneg = 119, Drem = 115, Dreturn = 175, Dstore = 57, Dstore0 = 71, Dstore1 = 72, Dstore2 = 73, Dstore3 = 74, Dsub = 103, Dup = 89, DupX1 = 90, DupX2 = 91, Dup2 = 92, Dup2X1 = 93, Dup2X2 = 94, F2d = 141, F2i = 139, F2l = 140, Fadd = 98, Faload = 48, Fastore = 81, Fcmpg = 150, Fcmpl = 149, Fconst0 = 11, Fconst1 = 12, Fconst2 = 13, Fdiv = 110, Fload = 23, Fload0 = 34, Fload1 = 35, Fload2 = 36, Fload3 = 37, Fmul = 106, Fneg = 118, Frem = 114, Freturn = 174, Fstore = 56, Fstore0 = 67, Fstore1 = 68, Fstore2 = 69, Fstore3 = 70, Fsub = 102, Getfield = 180, Getstatic = 178, Goto = 167, GotoW = 200, I2b = 145, I2c = 146, I2d = 135, I2f = 134, I2l = 133, I2s = 147, Iadd = 96, Iaload = 46, Iand = 126, Iastore = 79, IconstM1 = 2, Iconst0 = 3, Iconst1 = 4, Iconst2 = 5, Iconst3 = 6, Iconst4 = 7, Iconst5 = 8, Idiv = 108, IfAcmpEq = 165, IfAcmpNe = 166, IfIcmpeq = 159, IfIcmpge = 162, IfIcmpgt = 163, IfIcmple = 164, IfIcmplt = 161, IfIcmpne = 160, IfEq = 153, IfGe = 156, IfGt = 157, IfLe = 158, IfLt = 155, IfNe = 154, Ifnonnull = 199, Ifnull = 198, Iinc = 132, Iload = 21, Iload0 = 26, Iload1 = 27, Iload2 = 28, Iload3 = 29, Imul = 104, Ineg = 116, Instanceof = 193, InvokeDynamic = 186, InvokeInterface = 185, InvokeSpecial = 183, InvokeStatic = 184, InvokeVirtual = 182, Ior = 128, Irem = 112, Ireturn = 172, Ishl = 120, Ishr = 122, Istore = 54, Istore0 = 59, Istore1 = 60, Istore2 = 61, Istore3 = 62, Isub = 100, Iushr = 124, Ixor = 130, Jsr = 168, JsrW = 201, L2d = 138, L2f = 137, L2i = 136, Ladd = 97, Laload = 47, Land = 127, Lastore = 80, Lcmp = 148, Lconst0 = 9, Lconst1 = 10, Ldc = 18, LdcW = 19, Ldc2W = 20, Ldiv = 109, Lload = 22, Lload0 = 30, Lload1 = 31, Lload2 = 32, Lload3 = 33, Lmul = 105, Lneg = 117, Lookupswitch = 171, Lor = 129, Lrem = 113, Lreturn = 173, Lshl = 121, Lshr = 123, Lstore = 55, Lstore0 = 63, Lstore1 = 64, Lstore2 = 65, Lstore3 = 66, Lsub = 101, Lushr = 125, Lxor = 131, Monitorenter = 194, Monitorexit = 195, Multianewarray = 197, New = 187, Newarray = 188, Nop = 0, Pop = 87, Pop2 = 88, Putfield = 181, Putstatic = 179, Ret = 169, Return = 177, Saload = 53, Sastore = 86, Sipush = 17, Swap = 95, TableSwitch = 170,
}
Expand description

JVM bytecode opcode.

https://docs.oracle.com/javase/specs/jvms/se25/html/jvms-6.html

Variants§

§

Aaload = 50

§

Aastore = 83

§

AconstNull = 1

§

Aload = 25

§

Aload0 = 42

§

Aload1 = 43

§

Aload2 = 44

§

Aload3 = 45

§

Anewarray = 189

§

Areturn = 176

§

ArrayLength = 190

§

Astore = 58

§

Astore0 = 75

§

Astore1 = 76

§

Astore2 = 77

§

Astore3 = 78

§

Athrow = 191

§

Baload = 51

§

Bastore = 84

§

Bipush = 16

§

Breakpoint = 202

§

Caload = 52

§

Castore = 85

§

Checkcast = 192

§

D2f = 144

§

D2i = 142

§

D2l = 143

§

Dadd = 99

§

Daload = 49

§

Dastore = 82

§

Dcmpg = 152

§

Dcmpl = 151

§

Dconst0 = 14

§

Dconst1 = 15

§

Ddiv = 111

§

Dload = 24

§

Dload0 = 38

§

Dload1 = 39

§

Dload2 = 40

§

Dload3 = 41

§

Dmul = 107

§

Dneg = 119

§

Drem = 115

§

Dreturn = 175

§

Dstore = 57

§

Dstore0 = 71

§

Dstore1 = 72

§

Dstore2 = 73

§

Dstore3 = 74

§

Dsub = 103

§

Dup = 89

§

DupX1 = 90

§

DupX2 = 91

§

Dup2 = 92

§

Dup2X1 = 93

§

Dup2X2 = 94

§

F2d = 141

§

F2i = 139

§

F2l = 140

§

Fadd = 98

§

Faload = 48

§

Fastore = 81

§

Fcmpg = 150

§

Fcmpl = 149

§

Fconst0 = 11

§

Fconst1 = 12

§

Fconst2 = 13

§

Fdiv = 110

§

Fload = 23

§

Fload0 = 34

§

Fload1 = 35

§

Fload2 = 36

§

Fload3 = 37

§

Fmul = 106

§

Fneg = 118

§

Frem = 114

§

Freturn = 174

§

Fstore = 56

§

Fstore0 = 67

§

Fstore1 = 68

§

Fstore2 = 69

§

Fstore3 = 70

§

Fsub = 102

§

Getfield = 180

§

Getstatic = 178

§

Goto = 167

§

GotoW = 200

§

I2b = 145

§

I2c = 146

§

I2d = 135

§

I2f = 134

§

I2l = 133

§

I2s = 147

§

Iadd = 96

§

Iaload = 46

§

Iand = 126

§

Iastore = 79

§

IconstM1 = 2

§

Iconst0 = 3

§

Iconst1 = 4

§

Iconst2 = 5

§

Iconst3 = 6

§

Iconst4 = 7

§

Iconst5 = 8

§

Idiv = 108

§

IfAcmpEq = 165

§

IfAcmpNe = 166

§

IfIcmpeq = 159

§

IfIcmpge = 162

§

IfIcmpgt = 163

§

IfIcmple = 164

§

IfIcmplt = 161

§

IfIcmpne = 160

§

IfEq = 153

§

IfGe = 156

§

IfGt = 157

§

IfLe = 158

§

IfLt = 155

§

IfNe = 154

§

Ifnonnull = 199

§

Ifnull = 198

§

Iinc = 132

§

Iload = 21

§

Iload0 = 26

§

Iload1 = 27

§

Iload2 = 28

§

Iload3 = 29

§

Imul = 104

§

Ineg = 116

§

Instanceof = 193

§

InvokeDynamic = 186

§

InvokeInterface = 185

§

InvokeSpecial = 183

§

InvokeStatic = 184

§

InvokeVirtual = 182

§

Ior = 128

§

Irem = 112

§

Ireturn = 172

§

Ishl = 120

§

Ishr = 122

§

Istore = 54

§

Istore0 = 59

§

Istore1 = 60

§

Istore2 = 61

§

Istore3 = 62

§

Isub = 100

§

Iushr = 124

§

Ixor = 130

§

Jsr = 168

§

JsrW = 201

§

L2d = 138

§

L2f = 137

§

L2i = 136

§

Ladd = 97

§

Laload = 47

§

Land = 127

§

Lastore = 80

§

Lcmp = 148

§

Lconst0 = 9

§

Lconst1 = 10

§

Ldc = 18

§

LdcW = 19

§

Ldc2W = 20

§

Ldiv = 109

§

Lload = 22

§

Lload0 = 30

§

Lload1 = 31

§

Lload2 = 32

§

Lload3 = 33

§

Lmul = 105

§

Lneg = 117

§

Lookupswitch = 171

§

Lor = 129

§

Lrem = 113

§

Lreturn = 173

§

Lshl = 121

§

Lshr = 123

§

Lstore = 55

§

Lstore0 = 63

§

Lstore1 = 64

§

Lstore2 = 65

§

Lstore3 = 66

§

Lsub = 101

§

Lushr = 125

§

Lxor = 131

§

Monitorenter = 194

§

Monitorexit = 195

§

Multianewarray = 197

§

New = 187

§

Newarray = 188

§

Nop = 0

§

Pop = 87

§

Pop2 = 88

§

Putfield = 181

§

Putstatic = 179

§

Ret = 169

§

Return = 177

§

Saload = 53

§

Sastore = 86

§

Sipush = 17

§

Swap = 95

§

TableSwitch = 170

Implementations§

Source§

impl Opcode

Source

pub const fn as_str(self) -> &'static str

Source§

impl Opcode

Source

pub const fn operand_size(self) -> u8

Source

pub const fn pc_size(self) -> Option<u8>

Trait Implementations§

Source§

impl Clone for Opcode

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Opcode

Source§

impl Debug for Opcode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Opcode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Opcode

Source§

impl Hash for Opcode

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Opcode

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Opcode

Source§

impl TryFrom<u8> for Opcode

Source§

type Error = TryFromPrimitiveError<Opcode>

The type returned in the event of a conversion error.
Source§

fn try_from(number: u8) -> Result<Self, TryFromPrimitiveError<Self>>

Performs the conversion.
Source§

impl TryFromPrimitive for Opcode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more