Package | Description |
---|---|
gov.nasa.jpf.jvm.bytecode |
Modifier and Type | Class and Description |
---|---|
class |
AALOAD
Load reference from array
..., arrayref, index => ..., value
|
class |
AASTORE
Store into reference array
..., arrayref, index, value => ...
|
class |
ACONST_NULL
Push null
...
|
class |
ALOAD
Load reference from local variable
...
|
class |
ANEWARRAY
Create new array of reference
..., count => ..., arrayref
|
class |
ARETURN
Return reference from method
..., objectref => [empty]
|
class |
ArrayElementInstruction
abstract class for operations that access elements of arrays
|
class |
ArrayInstruction
abstraction for all array instructions
|
class |
ARRAYLENGTH
Get length of array
..., arrayref => ..., length
|
class |
ArrayLoadInstruction
abstraction for all array load instructions
..., array, index => ..., value
|
class |
ArrayStoreInstruction
abstraction for all array store instructions
...
|
class |
ASTORE
Store reference into local variable
..., objref => ...
|
class |
ATHROW
Throw exception or error
..., objectref => objectref
|
class |
BALOAD
Load byte or boolean from array
..., arrayref, index => ..., value
|
class |
BASTORE
Store into byte or boolean array
..., arrayref, index, value => ...
|
class |
BIPUSH
Push byte
...
|
class |
CALOAD
Load char from array
..., arrayref, index => ..., value
|
class |
CASTORE
Store into char array
..., arrayref, index, value => ...
|
class |
CHECKCAST
Check whether object is of given type
..., objectref => ..., objectref
|
class |
D2F
Convert double to float
..., value => ..., result
|
class |
D2I
Convert double to int
..., value => ..., result
|
class |
D2L
Convert double to long
..., value => ..., result
|
class |
DADD
Add double
..., value1, value2 => ..., result
|
class |
DALOAD
Load double from array
..., arrayref, index => ..., value
|
class |
DASTORE
Store into double array
..., arrayref, index, value => ...
|
class |
DCMPG
Compare double
..., value1, value2 => ..., result
|
class |
DCMPL
Compare double
..., value1, value2 => ..., result
|
class |
DCONST
Push double
...
|
class |
DDIV
Divide double
..., value1, value2 => ..., result
|
class |
DIRECTCALLRETURN
this is used to return from a DirectCallStackFrame
Note that it is NOT a ReturnInstruction, in case listeners monitor these
and expect corresponding InvokeInstructions.
|
class |
DLOAD
Load double from local variable
...
|
class |
DMUL
Multiply double
..., value1, value2 => ..., result
|
class |
DNEG
Negate double
..., value => ..., result
|
class |
DoubleCompareInstruction
base class for double double compare instructions
|
class |
DREM
Remainder double
..., value1, value2 => ..., result
|
class |
DRETURN
Return double from method
..., value => [empty]
|
class |
DSTORE
Store double into local variable
..., value => ...
|
class |
DSUB
Subtract double
..., value1, value2 => ..., result
|
class |
DUP
duplicate topmost stack entry
.., value -> .., value, value
|
class |
DUP_X1
Duplicate the top operand stack value and insert two values down
..., value2, value1 => ..., value1, value2, value1
|
class |
DUP_X2
DOCUMENT ME!
|
class |
DUP2
Duplicate the top one or two operand stack values
..., value2, value1 => ..., value2, value1, value2, value1
|
class |
DUP2_X1
DOCUMENT ME!
|
class |
DUP2_X2
Duplicate the top operand stack value and insert two or three values down
...
|
class |
EXECUTENATIVE
this is a synthetic instruction to (re-)execute native methods
Note that StackFrame and lock handling has to occur from within
the corresponding NativeMethodInfo
|
class |
F2D
Convert float to double
..., value => ..., result
|
class |
F2I
Convert float to int
..., value => ..., result
|
class |
F2L
Convert float to long
..., value => ..., result
|
class |
FADD
Add float
..., value1, value2 => ..., result
|
class |
FALOAD
Load float from array
..., arrayref, index => ..., value
|
class |
FASTORE
Store into float array
..., arrayref, index, value => ...
|
class |
FCMPG
Compare float
..., value1, value2 => ..., result
|
class |
FCMPL
Compare float
..., value1, value2 => ..., result
|
class |
FCONST
Push float
...
|
class |
FDIV
divide float
..., value1, value2 => ..., result
|
class |
FieldInstruction
parent class for PUT/GET FIELD/STATIC insns
<2do> there is a inheritance level missing to deal with instance/static
fields - w/o the instance/static helper methods we would have to duplicate
code in the getters/setters
|
class |
FLOAD
Load float from local variable
...
|
class |
FMUL
Multiply float
..., value1, value2 => ..., result
|
class |
FNEG
Negate float
..., value => ..., result
|
class |
FREM
Remainder float
..., value1, value2 => ..., result
|
class |
FRETURN
Return float from method
..., value => [empty]
|
class |
FSTORE
Store float into local variable
..., value => ...
|
class |
FSUB
Subtract float
..., value1, value2 => ..., result
|
class |
GETFIELD
Fetch field from object
..., objectref => ..., value
|
class |
GETSTATIC
Get static fieldInfo from class
..., => ..., value
|
class |
GOTO
Branch always
No change
<2do> store this as code insnIndex, not as bytecode position
|
class |
GOTO_W |
class |
I2B
Convert int to byte
..., value => ..., result
|
class |
I2C
Convert int to char
..., value => ..., result
|
class |
I2D
Convert int to double
..., value => ..., result
|
class |
I2F
Convert int to float
..., value =>..., result
|
class |
I2L
Convert int to long
..., value => ..., result
|
class |
I2S
Convert int to short
..., value => ..., result
|
class |
IADD
Add int
..., value1, value2 =>..., result
|
class |
IALOAD
Load int from array
..., arrayref, index => ..., value
|
class |
IAND
Boolean AND int
..., value1, value2 => ..., result
|
class |
IASTORE
Store into int array
..., arrayref, index, value => ...
|
class |
ICONST
Push int constant
...
|
class |
IDIV
Divide int
..., value1, value2 =>..., result
|
class |
IF_ACMPEQ
Branch if reference comparison succeeds
..., value1, value2 => ...
|
class |
IF_ACMPNE
Branch if reference comparison does not succeed
..., value1, value2 => ...
|
class |
IF_ICMPEQ
Branch if int comparison succeeds
..., value1, value2 => ...
|
class |
IF_ICMPGE
Branch if int comparison succeeds
..., value1, value2 => ...
|
class |
IF_ICMPGT
Branch if int comparison succeeds
..., value1, value2 => ...
|
class |
IF_ICMPLE
Branch if int comparison succeeds
..., value1, value2 => ...
|
class |
IF_ICMPLT
Branch if int comparison succeeds
..., value1, value2 => ...
|
class |
IF_ICMPNE
Branch if int comparison succeeds
..., value1, value2 => ...
|
class |
IFEQ
Branch if int comparison with zero succeeds
..., value => ...
|
class |
IFGE
Branch if int comparison with zero succeeds
..., value => ...
|
class |
IFGT
Branch if int comparison with zero succeeds
..., value => ...
|
class |
IfInstruction
abstraction for all comparison instructions
|
class |
IFLE
Branch if int comparison with zero succeeds
..., value => ...
|
class |
IFLT
Branch if int comparison with zero succeeds
..., value => ...
|
class |
IFNE
Branch if int comparison with zero succeeds
..., value => ...
|
class |
IFNONNULL
Branch if reference not null
..., value => ..., result
|
class |
IFNULL
DOCUMENT ME!
|
class |
IINC
Increment local variable by constant
No change
|
class |
ILOAD
Load int from local variable
...
|
class |
IMUL
Multiply int
..., value1, value2 => ..., result
|
class |
INEG
Negate int
..., value => ..., result
|
class |
InstanceFieldInstruction
class abstracting instructions that access instance fields
|
class |
InstanceInvocation
base class for INVOKEVIRTUAL, INVOKESPECIAL and INVOLEINTERFACE
|
class |
INSTANCEOF
Determine if object is of given type
..., objectref => ..., result
|
class |
INVOKECG
a sytnthetic INVOKE instruction that gets it's parameters from an
InvocationCG.
|
class |
INVOKECLINIT
this is an artificial bytecode that we use to deal with the particularities of
|
class |
InvokeInstruction
abstraction for all invoke instructions
|
class |
INVOKEINTERFACE
Invoke interface method
..., objectref, [arg1, [arg2 ...]] => ...
|
class |
INVOKESPECIAL
Invoke instance method; special handling for superclass, private,
and instance initialization method invocations
..., objectref, [arg1, [arg2 ...]] => ...
|
class |
INVOKESTATIC
Invoke a class (static) method
..., [arg1, [arg2 ...]] => ...
|
class |
INVOKEVIRTUAL
Invoke instance method; dispatch based on class
..., objectref, [arg1, [arg2 ...]] => ...
|
class |
IOR
Boolean OR int
..., value1, value2 => ..., result
|
class |
IREM
Remainder int
..., value1, value2 => ..., result
|
class |
IRETURN
Return int from method
..., value => [empty]
|
class |
ISHL
Shift left int
..., value1, value2 => ..., result
|
class |
ISHR
Arithmetic shift right int
..., value1, value2 => ..., result
|
class |
ISTORE
Store int into local variable
..., value => ...
|
class |
ISUB
Subtract int
..., value1, value2 => ..., result
|
class |
IUSHR
Logical shift right int
..., value1, value2 => ..., result
|
class |
IXOR
Boolean XOR int
..., value1, value2 => ..., result
|
class |
JSR
Jump subroutine
...
|
class |
JSR_W
Jump subroutine (wide insnIndex)
...
|
class |
L2D
Convert long to double
..., value => ..., result
|
class |
L2F
Convert long to float
..., value => ..., result
|
class |
L2I
Convert long to int
..., value => ..., result
|
class |
LADD
Add long
..., value1, value2 => ..., result
|
class |
LALOAD
Load long from array
..., arrayref, index => ..., value
|
class |
LAND
Boolean AND long
..., value1, value2 => ..., result
|
class |
LASTORE
Store into long array
..., arrayref, index, value => ...
|
class |
LCMP
Compare long
..., value1, value2 => ..., result
|
class |
LCONST
Push long constant
...
|
class |
LDC
Push item from runtime constant pool
...
|
class |
LDC_W
Push item from runtime constant pool (wide index)
...
|
class |
LDC2_W
Push long or double from runtime constant pool (wide index)
...
|
class |
LDIV
Divide long
..., value1, value2 => ..., result
|
class |
LLOAD
Load long from local variable
...
|
class |
LMUL
Multiply long
..., value1, value2 => ..., result
|
class |
LNEG
Negate long
..., value => ..., result
|
class |
LocalVariableInstruction
class abstracting instructions that access local variables, to keep
track of slot/varname mapping
|
class |
LockInstruction
common root for MONITORENTER/EXIT
|
class |
LongArrayLoadInstruction
abstraction for long array loads
|
class |
LongArrayStoreInstruction
absraction for long array stores
...
|
class |
LongReturn
common base for DRETURN and LRETURN
|
class |
LOOKUPSWITCH
Access jump table by key match and jump
..., key => ...
|
class |
LOR
Boolean OR long
..., value1, value2 => ..., result
|
class |
LREM
Remainder long
..., value1, value2 => ..., result
|
class |
LRETURN
Return long from method
..., value => [empty]
|
class |
LSHL
Shift left
..., value1, value2 =>..., result
|
class |
LSHR
Arithmetic shift right long
..., value1, value2 =>..., result
|
class |
LSTORE
Store long into local variable
..., value => ...
|
class |
LSUB
Subtract long
..., value1, value2 => ..., result
|
class |
LUSHR
Logical shift right long
..., value1, value2 =>..., result
|
class |
LXOR
Boolean XOR long
..., value1, value2 => ..., result
|
class |
MONITORENTER
Enter monitor for object
..., objectref => ...
|
class |
MONITOREXIT
Exit monitor for object
..., objectref => ...
|
class |
MULTIANEWARRAY
Create new multidimensional array
..., count1, [count2, ...] => ..., arrayref
|
class |
NATIVERETURN
synthetic return instruction for native method invocations, so that
we don't have to do special provisions to copy the caller args in case
a post exec listener wants them.
|
class |
NEW
Create new object
...
|
class |
NEWARRAY
Create new array
..., count => ..., arrayref
|
class |
NewArrayInstruction |
class |
NOP
Do nothing
No change
|
class |
POP
Pop the top operand stack value
..., value => ...
|
class |
POP2
Pop the top two operand slots
..., value2, value1 => ...
|
class |
PUTFIELD
Set field in object
..., objectref, value => ...
|
class |
PUTSTATIC
Set static field in class
..., value => ...
|
class |
RET
Return from subroutine
No change
|
class |
RETURN
Return void from method
...
|
class |
ReturnInstruction
abstraction for the various return instructions
|
class |
RUNSTART
this is an artificial instruction that is automatically prepended to
a run()/main() method call.
|
class |
SALOAD
Load short from array
..., arrayref, index => ..., value
|
class |
SASTORE
Store into short array
..., array, index, value => ...
|
class |
SIPUSH
Push short
...
|
class |
StaticFieldInstruction
class to abstract instructions accessing static fields
|
class |
SWAP
Swap the top two operand stack values
..., value2, value1 => ..., value1, value2
|
class |
SwitchInstruction
common root class for LOOKUPSWITCH and TABLESWITCH insns
<2do> this is inefficient.
|
class |
TABLESWITCH
Access jump table by index and jump
..., index => ...
|
class |
VirtualInvocation
a base class for virtual call instructions
|
class |
WIDE
modifies following insn, no stack manipulation
NOTE: transparently handled by BCEL, we should never receive this
(1):
|