| ArrayLoad (ArrayType ()) | aaload baload ... |
| ArrayStore (ArrayType ()) | aastore bastore ... |
| Push Constant | |
| Load LocalType LocalAddress | aload_0, bload_2, iload 5 ... |
| Store LocalType LocalAddress | aload, bload ... |
| BinaryOpr BinOpr ArithmeticType | iadd ... |
| Neg ArithmeticType | ineg ... |
| BitOpr BitOpr WordSize | Exclusively on int and long, identified by the word-size |
| IncrLocal !LocalAddress !IncrementAmount | Only works on ints, increment local 2 |
| Cast ArithmeticType ArithmeticType | Only valid on different types |
| CastDown SmallArithmeticType | Only valid on different types |
| CompareLongs | |
| CompareFloating Bool WordSize | Compare two floating values, 2
is if float or double should be used. |
| If CmpOpr OneOrTwo Offset | compare with 0 if #2 is False, and two ints from the stack if
True. the last value is the offset |
| IfRef Bool OneOrTwo Offset | check if two objects are equal, or not equal. If #2 is True, compare
with null. |
| Goto LongOffset | |
| Jsr LongOffset | |
| Ret LocalAddress | |
| TableSwitch Int32 Int32 Int32 (Vector Int32) | a table switch has 3 values `default` low high and a list of
offets. |
| LookupSwitch Int32 (Vector (Int32, Int32)) | a lookup switch has a `default` value and a list of pairs. |
| Get FieldAccess ConstantRef | |
| Put FieldAccess ConstantRef | |
| Invoke Invokation ConstantRef | |
| New ConstantRef | |
| NewArray (ArrayType ConstantRef) | |
| ArrayLength | |
| Throw | |
| CheckCast ConstantRef | |
| InstanceOf ConstantRef | |
| Monitor Bool | True => Enter, False => Exit |
| MultiNewArray ConstantRef Word8 | Create a new multi array of 2 dimensions |
| Return (Maybe LocalType) | |
| Nop | |
| Pop WordSize | |
| Dup WordSize | |
| DupX1 WordSize | |
| DupX2 WordSize | |
| Swap | |