Java Reference
In-Depth Information
Mnemonic
Operation
Operand Stack
iconst_n
; n 2 [0 ::: 5] Push
int
constant n ) ;value
iconst_m1
Push
int
constant -1 ) ;value
lconst_n
; n 2 [0 ::: 1] Push
long
constant n ) ;value
fconst_n
; n 2 [0 ::: 2] Push
float
constant n ) ;value
dconst_n
; n 2 [0 ::: 1] Push
double
constant n ) ;value
aconst_null
Push null
) ;null
wide
12
Modifies the behavior an-
other instruction
13
by ex-
tending local variable in-
dex by additional bytes
Same as modified instruction
The above instructions can be added to the code section of a method by sending the
CLEmitter
instance the following message:
publicvoidaddNoArgInstruction(intopcode)
where
opcode
is the mnemonic of the instruction to be added.
Mnemonic
Operation
Operand Stack
iload
Load
int
from local vari-
able at an index
) ;value
lload
Load
long
from local vari-
able at an index
) ;value
fload
Load
float
from
local
) ;value
variable at an index
dload
Load
double
from local
variable at an index
) ;value
aload
Load reference from local
variable at an index
) ;objectref
istore
Store
int
into local vari-
able at an index
;value )
lstore
Store
long
into local vari-
able at an index
;value )
fstore
Store
float
into
local
;value )
variable at an index
dstore
Store
double
into
local
;value )
variable at an index
astore
Store reference into local
variable at an index
;objectref )
The above instructions can be added to the code section of a method by sending the
CLEmitter
instance the following message:
publicvoidaddOneArgInstruction(intopcode,
intarg)
12
The
CLEmitter
interface implicitly adds this instruction where necessary.
13
Instructions that can be widened are
iinc
,
iload
,
fload
,
aload
,
lload
,
dload
,
istore
,
fstore
,
astore
,
lstore
,
dstore
, and
ret
.
Search WWH ::
Custom Search