Enum jbcrs_basic::Instruction
[−]
[src]
pub enum Instruction { NOP, AConstNull, IConstM1, IConst0, IConst1, IConst2, IConst3, IConst4, IConst5, LConst0, LConst1, FConst0, FConst1, FConst2, DConst0, DConst1, BIPush(i8), SIPush(i16), LDC(u16), ILoad(u16), LLoad(u16), FLoad(u16), DLoad(u16), ALoad(u16), ILoad0, ILoad1, ILoad2, ILoad3, LLoad0, LLoad1, LLoad2, LLoad3, FLoad0, FLoad1, FLoad2, FLoad3, DLoad0, DLoad1, DLoad2, DLoad3, ALoad0, ALoad1, ALoad2, ALoad3, IALoad, LALoad, FALoad, DALoad, AALoad, BALoad, CALoad, SALoad, IStore(u16), LStore(u16), FStore(u16), DStore(u16), AStore(u16), IStore0, IStore1, IStore2, IStore3, LStore0, LStore1, LStore2, LStore3, FStore0, FStore1, FStore2, FStore3, DStore0, DStore1, DStore2, DStore3, AStore0, AStore1, AStore2, AStore3, IAStore, LAStore, FAStore, DAStore, AAStore, BAStore, CAStore, SAStore, 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, IInc(u16, i16), I2L, I2F, I2D, L2I, L2F, L2D, F2I, F2L, F2D, D2I, D2L, D2F, I2B, I2C, I2S, LCmp, FCmpL, FCmpG, DCmpL, DCmpG, IfEq(i16), IfNE(i16), IfLT(i16), IfGE(i16), IfGT(i16), IfLE(i16), IfICmpEq(i16), IfICmpNE(i16), IfICmpLT(i16), IfICmpGE(i16), IfICmpGT(i16), IfICmpLE(i16), IfACmpEq(i16), IfACmpNE(i16), GoTo(i32), JSR(i32), Ret(u16), TableSwitch { default: i32, low: i32, high: i32, offsets: Vec<i32>, }, LookupSwitch { default: i32, offsets: BTreeMap<i32, i32>, }, IReturn, LReturn, FReturn, DReturn, AReturn, Return, GetStatic(u16), PutStatic(u16), GetField(u16), PutField(u16), InvokeVirtual(u16), InvokeSpecial(u16), InvokeStatic(u16), InvokeInterface(u16, u8), InvokeDynamic(u16), New(u16), NewArray(ArrayType), ANewArray(u16), ArrayLength, AThrow, CheckCast(u16), InstanceOf(u16), MonitorEnter, MonitorExit, MultiANewArray(u16, u8), IfNull(i16), IfNonNull(i16), BreakPoint, ImpDep1, ImpDep2, }
Variants
NOP
No operation
AConstNull
Pushes null on the stack
IConstM1
Pushes the int -1 on the stack
IConst0
Pushes the int 0 on the stack
IConst1
Pushes the int 1 on the stack
IConst2
Pushes the int 2 on the stack
IConst3
Pushes the int 3 on the stack
IConst4
Pushes the int 4 on the stack
IConst5
Pushes the int 5 on the stack
LConst0
Pushes the long 0 on the stack
LConst1
Pushes the long 1 on the stack
FConst0
Pushes the float 0 on the stack
FConst1
Pushes the float 1 on the stack
FConst2
Pushes the float 2 on the stack
DConst0
Pushes the double 0 on the stack
DConst1
Pushes the double 1 on the stack
BIPush(i8)
Pushes a byte on the stack
SIPush(i16)
Pushes a short on the stack
LDC(u16)
Pushes a constant from the constant pool on the stack
ILoad(u16)
Pushes the int at a specific local variable index on the stack
LLoad(u16)
Pushes the long at a specific local variable index on the stack
FLoad(u16)
Pushes the float at a specific local variable index on the stack
DLoad(u16)
Pushes the double at a specific local variable index on the stack
ALoad(u16)
Pushes the reference at a specific local variable index on the stack
ILoad0
Pushes the int at local variable index 0 on the stack
ILoad1
Pushes the int at local variable index 1 on the stack
ILoad2
Pushes the int at local variable index 2 on the stack
ILoad3
Pushes the int at local variable index 3 on the stack
LLoad0
Pushes the long at local variable index 0 on the stack
LLoad1
Pushes the long at local variable index 1 on the stack
LLoad2
Pushes the long at local variable index 2 on the stack
LLoad3
Pushes the long at local variable index 3 on the stack
FLoad0
Pushes the float at local variable index 0 on the stack
FLoad1
Pushes the float at local variable index 1 on the stack
FLoad2
Pushes the float at local variable index 2 on the stack
FLoad3
Pushes the float at local variable index 3 on the stack
DLoad0
Pushes the double at local variable index 0 on the stack
DLoad1
Pushes the double at local variable index 1 on the stack
DLoad2
Pushes the double at local variable index 2 on the stack
DLoad3
Pushes the double at local variable index 3 on the stack
ALoad0
Pushes the reference at local variable index 0 on the stack
ALoad1
Pushes the reference at local variable index 1 on the stack
ALoad2
Pushes the reference at local variable index 2 on the stack
ALoad3
Pushes the reference at local variable index 3 on the stack
IALoad
Pushes the value from an int array, which is popped from the stack, at an index, which is popped from the stack as well, on the stack.
LALoad
Pushes the value from an long array, which is popped from the stack, at an index, which is popped from the stack as well, on the stack.
FALoad
Pushes the value from an float array, which is popped from the stack, at an index, which is popped from the stack as well, on the stack.
DALoad
Pushes the value from an double array, which is popped from the stack, at an index, which is popped from the stack as well, on the stack.
AALoad
Pushes the value from an reference array, which is popped from the stack, at an index, which is popped from the stack as well, on the stack.
BALoad
Pushes the value from an byte array, which is popped from the stack, at an index, which is popped from the stack as well, on the stack.
CALoad
Pushes the value from an char array, which is popped from the stack, at an index, which is popped from the stack as well, on the stack.
SALoad
Pushes the value from an short array, which is popped from the stack, at an index, which is popped from the stack as well, on the stack.
IStore(u16)
LStore(u16)
FStore(u16)
DStore(u16)
AStore(u16)
IStore0
IStore1
IStore2
IStore3
LStore0
LStore1
LStore2
LStore3
FStore0
FStore1
FStore2
FStore3
DStore0
DStore1
DStore2
DStore3
AStore0
AStore1
AStore2
AStore3
IAStore
LAStore
FAStore
DAStore
AAStore
BAStore
CAStore
SAStore
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
IInc(u16, i16)
I2L
I2F
I2D
L2I
L2F
L2D
F2I
F2L
F2D
D2I
D2L
D2F
I2B
I2C
I2S
LCmp
FCmpL
FCmpG
DCmpL
DCmpG
IfEq(i16)
IfNE(i16)
IfLT(i16)
IfGE(i16)
IfGT(i16)
IfLE(i16)
IfICmpEq(i16)
IfICmpNE(i16)
IfICmpLT(i16)
IfICmpGE(i16)
IfICmpGT(i16)
IfICmpLE(i16)
IfACmpEq(i16)
IfACmpNE(i16)
GoTo(i32)
JSR(i32)
Ret(u16)
TableSwitch
Fields of TableSwitch
default: i32 | |
low: i32 | |
high: i32 | |
offsets: Vec<i32> |
LookupSwitch
Fields of LookupSwitch
default: i32 | |
offsets: BTreeMap<i32, i32> |
IReturn
LReturn
FReturn
DReturn
AReturn
Return
GetStatic(u16)
PutStatic(u16)
GetField(u16)
PutField(u16)
InvokeVirtual(u16)
InvokeSpecial(u16)
InvokeStatic(u16)
InvokeInterface(u16, u8)
InvokeDynamic(u16)
New(u16)
NewArray(ArrayType)
ANewArray(u16)
ArrayLength
AThrow
CheckCast(u16)
InstanceOf(u16)
MonitorEnter
MonitorExit
MultiANewArray(u16, u8)
IfNull(i16)
IfNonNull(i16)
BreakPoint
ImpDep1
ImpDep2