1 #ifndef ROSE_BinaryAnalysis_InstructionEnumsJvm_H
2 #define ROSE_BinaryAnalysis_InstructionEnumsJvm_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
13 namespace BinaryAnalysis {
0x7c: "Logical shift right int"
0x52: "Store into double array"
0xaf: "Return double from method"
0x10 1: byte: "Push byte"
0x24: "Load float from local variable 2"
0x47: "Store double into local variable 0"
0x30: "Load float from array"
0xa3 2: branchbyte1, branchbyte2
0xc4 3/5: opcode,indexbyte1,indexbyte2 or iinc,indexbyte1,indexbyte2,countbyte1,countbye2 ...
0x41: "Store long into local variable 2"
0xc3: "Exit monitor for object"
0x23: "Load float from local variable 1"
0xc2: "Enter monitor for object"
0xa4 2: branchbyte1, branchbyte2: "Branch if int comparison .le. succeeds"
0x8e: "Convert double to int"
0x1a: "Load int from local variable 0"
0x99 2: branchbyte1, branchbyte2: "Branch if int comparison .eq. with zero succeeds" ...
0x1b: "Load int from local variable 1"
0x09: "Push long constant 0"
0x2b: "Load reference from local variable 1"
0x4f: "Store into int array"
0xc1 2: indexbyte1, indexbyte2: "Determine if object is of given type"
0x11 2: byte1, byte2: "Push short"
0x9f 2: branchbyte1, branchbyte2
0x4a: "Store double into local variable 3"
0x22: "Load float from local variable 0"
0x35: "Load short from array"
0x31: "Load double from array"
0x1f: "Load long from local variable 1"
0xa2 2: branchbyte1, branchbyte2
0xb6 2: indexbyte1, indexbyte2
0xa7 2: branchbyte1, branchbyte2
0x1d: "Load int from local variable 3"
0xaa 16+: [0-3 bytes padding],defaultbyte1,defaultbyte2,defaultbyte3,defaultbyte4,lowbye1,lowbyte2,lowbyte3,lowbyte4,highbyte1,highbyte2,highbyte3,highbyte4,jump offsets...
0x9e 2: branchbyte1, branchbyte2
0x7d: "Logical shift right long"
0x5a: "Duplicate the top operand stack value and insert two values down"
0x8b: "Convert float to int"
0xb4 2: indexbyte1, indexbyte2: "Fetch field from object"
0x56: "Store into short array"
0xae: "Return float from method"
0x2c: "Load reference from local variable 2"
JvmInstructionKind
The Java Virtual Machine (JVM) instruction set.
0x50: "Store into long array"
0x5c: "Duplicate the top one or two operand stack values"
0xc6 2: branchbyte1, branchbyte2: "Branch if reference is null"
0xb3 2: indexbyte1, indexbyte2: "Set static field in class"
Main namespace for the ROSE library.
0x06: "Push int constant 3"
0xbc 1: atype: "Create new array"
0xbe: "Get length of array"
0xc7 2: branchbyte1, branchbyte2
0xa8 2: branchbyte1, branchbyte2
0xb0: "Return reference from method"
0xad: "Return long from method"
0x8d: "Convert float to double"
0x9d 2: branchbyte1, branchbyte2
0x91: "Convert int to byte"
0xab 8+: <0-3 bytes padding>,defaultbyte1,defaultbyte2,defaultbyte3,defaultbyte4,npairs,npairs2,npairs3,npairs4,match-offset pairs...
0x07: "Push int constant 4"
0x8a: "Convert long to double"
0xa1 2: branchbyte1, branchbyte2
0x02: "Push int constant -1"
0x4b: "Store reference into local variable 0"
0x58: "Pop the top one or two operand stack values"
0x28: "Load double from local variable 2"
0x04: "Push int constant 1"
0x15 1: index: "Load int from local variable"
0x84:2: index, const: "Increment local variable"
0x87: "Convert int to double"
0x27: "Load double from local variable 1"
0x9a 2: branchbyte1, branchbyte2
0x42: "Store long into local variable 3"
0x8f: "Convert double to long"
0xb2 2: indexbyte1, indexbyte2: "Get static field in class"
0x1c: "Load int from local variable 2"
0xb1: "Return void from method"
0xa0 2: branchbyte1, branchbyte2
0x92: "Convert int to char"
0x25: "Load float from local variable 3"
0xc0 2: indexbyte1, indexbyte2: "Check whether object is of given type"
0xc9 4: branchbyte1, branchbyte2, branchbyte3, branchbyte4
0x3f: "Store long into local variable 0"
0x0a: "Push long constant 1"
0xb9 4: indexbyte1, indexbyte2, count, 0
0x14 2: indexbyte1, indexbyte2: "Push long or double from run-time constant pool (wide index)" ...
0x90: "Convert double to float"
0x5d: "Duplicate the top one or two operand stack values and insert two or three values down" ...
0x55: "Store into char array"
0x59: "Duplicate the top operand stack value"
0x51: "Store into float array"
0x19 1: index: "Load reference from local variable"
0x43: "Store float into local variable 0"
0x18 1: index: "Load double from local variable"
0x46: "Store float into local variable 3"
0x3e: "Store int into local variable 3"
0x5b: "Duplicate the top operand stack value and insert two or three values down" ...
0x33: "Load byte or boolean from array"
0xa6 2: branchbyte1, branchbyte2
0xa5 2: branchbyte1, branchbyte2
0x40: "Store long into local variable 1"
0x08: "Push int constant 5"
0x48: "Store double into local variable 1"
0x4d: "Store reference into local variable 2"
0x8c: "Convert float to long"
0xc8 4: branchbyte1, branchbyte2, branchbyte3, branchbyte4
0x16 1: index: "Load long from local variable"
0x89: "Convert long to float"
0x9c 2: branchbyte1, branchbyte2
0xbf: "Throw exception or error"
0x53: "Store into reference array"
0x57: "Pop the top operand stack value"
0x1e: "Load long from local variable 0"
0x13 2: indexbyte1, indexbyte2: "Push item from run-time constant pool (wide index)" ...
0xbd 2: indexbyte1, indexbyte2: "Create new array of reference"
0x5f: "Swap the top two operand stack values"
0x45: "Store float into local variable 2"
0xc5 3: indexbyte1, indexbyte2, dimensions
0x4c: "Store reference into local variable 1"
0x2a: "Load reference from local variable 0"
0x54: "Store into byte or boolean array"
0x88: "Convert long to int"
0x2e: "Load int from array"
0x34: "Load char from array"
0x36 1: index "Store int into local variable at index"
0xba 4: indexbyte1, indexbyte2, 0, 0
0x4e: "Store reference into local variable 3"
0x3d: "Store int into local variable 2"
0x44: "Store float into local variable 1"
0x5e: "Duplicate the top one or two operand stack values and insert two, three, or four values down" ...
0x2f: "Load long from array"
0x9b 2: branchbyte1, branchbyte2
0x29: "Load double from local variable 3"
0x32: "Load reference from array"
0x49: "Store double into local variable 2"
0x20: "Load long from local variable 2"
0x2d: "Load reference from local variable 3"
0x85: "Convert int to long"
0x21: "Load long from local variable 3"
0xb7 2: indexbyte1, indexbyte2: "Invoke instance method; direct invocation of instance initialization...
0x3b: "Store int into local variable 0"
0xb8 2: indexbyte1, indexbyte2
0x93: "Convert int to short"
0x12 1: index: "Push item from run-time constant pool"
0xac: "Return int from method"
0x05: "Push int constant 2"
0x3c: "Store int into local variable 1"
0x03: "Push int constant 0"
0x17 1: index: "Load float from local variable"
0x86: "Convert int to float"
0xbb 2: indexbyte1, indexbyte2
0x26: "Load double from local variable 0"
0xb5 2: indexbyte1, indexbyte2: "Set field in object"