Contents | Prev | Next | IndexThe JavaTM Virtual Machine Specification


symbols A B C D E F G H I J L M N O P Q R S T U V W Z

I

I character
meaning in field or method descriptor, 101
i2b instruction
definition, 254
i2c instruction
definition, 255
i2d instruction
definition, 256
i2f instruction
definition, 257
i2l instruction
definition, 258
i2s instruction
compilation examples, constants and local variables in a for loop, 369
definition, 259
iadd instruction
compilation examples
arithmetic, 369
constants and local variables in a for loop, 369
receiving arguments, 375
definition, 260
iaload instruction
compilation examples, arrays, 382
definition, 261
iand instruction
compilation examples, arithmetic, 369
definition, 262
iastore instruction
compilation examples, arrays, 382
definition, 263
iconst_<i> instructions
compilation examples
arithmetic, 369
arrays, 383
compiling switches, 384
constants and local variables in a for loop, 365, 369
operand stack operations, 386
while loop, 372, 374
definition, 264
identifiers
definition, 6
as value of CONSTANT_Utf8_info structure
referenced by name_index item (CONSTANT_NameAndType_info structure), 110
referenced by name_index item (field_info structure), 113
referenced by name_index item (method_info structure), 116
idiv instruction
definition, 265
IEEE 754 standard
bibliographic reference, 75
comparing
double conformance, dcmp<op>, 202
float conformance, fcmp<op>, 232
conformance
add double dadd, 198
add float, fadd, 228
dividing
double conformance, ddiv, 205
float conformance, fdiv, 235
floating-point
double bit layout, high_bytes and low_bytes items, CONSTANT_Double_info structure, 108
operation conformance to, 85
key differences between Java virtual machine and, 75
multiplying
double conformance, dmul, 209
float conformance, fmul, 239
remainder
drem not the same as, drem, 212
frem not the same as, frem, 242
subtracting
double conformance, dsub, 217
float conformance, fsub, 247
if<cond> instructions
compilation examples
constants and local variables in a for loop, 367
throwing exceptions, 387
while loop, 373, 374, 375
constraints, static, 134
definition, 269
if_acmp<cond> instructions
constraints, static, 134
definition, 266
if_icmp<cond> instructions
compilation examples
constants and local variables in a for loop, 365, 367, 369
while loop, 372
constraints, static, 134
definition, 267
ifnonnull instruction
constraints, static, 134
definition, 271
ifnull instruction
compilation examples, working with class instances, 379
constraints, static, 134
definition, 272
iinc instruction
compilation examples
constants and local variables in a for loop, 365, 366
while loop, 372
constraints, static, 136
definition, 273
IllegalAccessError
definition, 50
as linking error, 45
thrown by
invokeinterface, 282
multianewarray, 340
putfield, 349
putstatic, 351
thrown during
class or interface resolution, 167
field resolution, 167
method resolution, 168
IllegalMonitorStateException
definition, 44
thrown by
areturn, 182
athrow, 187
dreturn, 214
freturn, 244
ireturn, 296
lreturn, 327
monitorexit, 337
return, 353
iload instruction
See also istore instruction; wide instruction
constraints, static, 136
definition, 274
iload_<n> instructions
See also istore_<n> instructions
compilation examples
arithmetic, 370
arrays, 382
compiling switches, 384, 385
constants and local variables in a for loop, 365, 366, 369
receiving arguments, 375
throwing exceptions, 387
while loop, 372
working with class instances, 381
constraints, static, 136
definition, 275
impdep1 reserved opcode
definition, 172
impdep2 reserved opcode
definition, 172
implementation
attributes
optional, handling, 116
predefined, support requirements, 116
considerations
exception handling, 124
frames, extensions permitted, 75
heap, 68
Java virtual machine stack, 67
method area, 69
native method stacks, 70
operand stacks, 73
runtime constant pool, 70
constraint enforcement strategies, 171
constraints
Java virtual machine code, static, 133
Java virtual machine code, structural, 137
implications, opcode design and alignment, 80
Java virtual machine, strategies and requirements, 91
object representation, 75
optimization, alternative instruction use, 143
requirements and non-requirements, 61
Sun's JDK and Java 2 SDK
boolean arrays as byte arrays, 66
heap, 68
Java virtual machine stack, 67
Java virtual machine stack, size limit use, 68
line number - source code mapping issues, 130
method area, 69
imul instruction
definition, 276
IncompatibleClassChangeError
definition, 50
thrown by
getfield, 248
getstatic, 250
invokeinterface, 282
invokespecial, 286
invokestatic, 290
invokevirtual, 293
putfield, 349
putstatic, 351
thrown during
class or interface loading, 163
class or interface resolution, 164
interface method resolution, 169
method resolution, 168
increment
local variable by constant, iinc, 273
index item
(LocalVariableTable_attribute structure), 131
IndexOutOfBoundsException
definition, 44
ineg instruction
definition, 277
info array
(attribute_info generic structure), 117
<init> method
constant_pool reference to, 106
as instance initialization method name, 78
invocation of
static constraints, 135
structural constraints, 137
method_info structure access flags, 115
name_index item (method_info) reference, 116
initial class
definition, 158
initialization
See also <clinit> method; <init> method
(chapter), 155
class or interface, reasons for
getstatic, 170
initial class, 170
initialization of a subclass, 170
invokestatic, 170
new, 170
putstatic, 170
reflection, 170
definition, 51
detailed procedure description, 52
instance, data-flow analysis during class file verification, 146
instance, structural constraints on instructions, 136
method
class or interface (<clinit>), 78
instance (<init>), 78
overview, 48
static initializers, 33
when initiated, 51, 170
inner_class_access_flags item
(classes array of InnerClasses_attribute structure), 126
inner_class_info_index item
(classes array of InnerClasses_attribute structure), 126
inner_name_index item
(classes array of InnerClasses_attribute structure), 126
InnerClasses_attribute structure
(elements of attributes table of ClassFile structure), 125
instanceof instruction
definition, 278
instances
See also array
creating
new, 341
creation, 54
instruction summary, 88
situations that cause the, 54
definition, 12
determining if an object is a particular type, instanceof, 278
enter monitor for, monitorenter, 335
exiting monitor for, monitorexit, 337
field descriptor specifications, 101
getting values of fields from, getfield, 248
initialization
data-flow analysis during class file verification, 147
field_info structure access flags, 112
structural constraints on instructions, 137
instanceof instruction, constraints, static, 136
Java virtual machine support for, 62
manipulation, instruction summary, 88
methods, 33
accessing, structural constraints on instructions, 138
data-flow analysis during class file verification, 147
invoking, instruction summary, 89
invoking, invokespecial, 284
invoking, invokevirtual, 291
method_info structure access flags, 115
putting values of fields into, putfield, 348
reference type relationship to, 62
this object role in creation of, 55
uninitialized, restrictions, Pass 3 - bytecode verifier, 147
unreachable, finalization of, 57
variables, 13
accessing, structural constraints on instruction, 138
getfield, 248
putting fields into putfield, 348
InstantiationError
definition, 51
as linking error, 45
thrown by new, 341
instructions
alternative forms, optimization use of, 143
constraints, static, 134
Java virtual machine instruction set execution loop, 80
format, 61
load summary, 83
opcodes
data-flow analysis, 142
verification process, 143
operands, verification process, 143
set
arithmetic, summary, 84
notation for families of, 84
summary, 80
type encoding limitations of, 80
int type
adding, iadd, 260
ANDing, bitwise, iand, 262
branch int comparison
if_icmp<cond>, 267
with zero, if<cond>, 269
converting
double to, d2i, 196
float to, f2i, 226
to byte, i2b, 254
to char, i2c, 255
to double, i2d, 256
to float, i2f, 256, 257
to long, i2l, 258
to short, i2f, 259
definition, 62
dividing, idiv, 265
instruction set handling of, 81
loading from
arrays, iaload, 261
local variables, iload, 274
local variables, iload_<n>, 275
multiplying, imul, 276
negating, ineg, 277
ORing
bitwise, exclusive, ixor, 303
bitwise, inclusive, ior, 294
pushing constants, iconst_<i>, 264
remainder, irem, 295
returning from method invocation, ireturn, 296
shift left, arithmetic, ishl, 297
shift right
arithmetic, ishr, 298
logical, iushr, 302
storing into
arrays, iastore, 263
local variables, istore, 299
local variables, istore_<n>, 300
subtracting, isub, 301
value range, 63
integral
types
definition, 62
values, 63
interfaces
See also ACC_INTERFACE flag; array; class(es); interfaces array, ClassFile structure
creation, 158
definition, 35
derivation of symbolic references to at run time, 156
extends clause use, 36
fields, 36
implements clause use, 36
members, 36
methods
derivation of symbolic references to at run time, 156
invocation instruction summary, 89
invoking, invokeinterface, 280
method_info structure access flags, 114
resolution, 168
modifiers, 35
resolution, 166
types, 11
implications for variables and expressions, 15
as reference type, 66
interfaces array
(ClassFile structure), 97
interfaces_count item
(ClassFile structure), 97
intern method
String class, 6, 157
InternalError
as asynchronous exception cause, 43
as Java Virtual machine error, 45
invokeinterface instruction
constraints, static, 135
definition, 280
invokespecial instruction
See also ACC_SUPER modifier
access flag use to select alternative semantics, 96
compilation examples
arrays, 383
invoking methods, 378
throwing exceptions, 387
working with class instances, 379
constraints
static, 135
structural, 137
definition, 284
instance initialization by, 78
invokestatic instruction
compilation examples, invoking methods, 377
constraints, static, 135
definition, 288
invokevirtual instruction
compilation examples
catching exceptions, 388, 389, 390
compiling finally, 392, 393, 394
invoking methods, 376
throwing exceptions, 387, 388
working with class instances, 380
constraints, static, 135
definition, 291
invoking
methods
class, invokestatic, 288
instance, invokespecial, 284
instance, invokevirtual, 291
interface, invokeinterface, 280
ior instruction
definition, 294
irem instruction
definition, 295
ireturn instruction
compilation examples
arithmetic, 370
compiling switches, 384, 385
invoking methods, 376, 377, 378
receiving arguments, 375
while loop, 374
constraints, structural, 138
definition, 296
ishl instruction
definition, 297
ishr instruction
definition, 298
istore instruction
See also iload instruction
constraints, static, 136
definition, 299
istore_<n> instructions
See also iload_<n> instructions
compilation examples
accessing the runtime constant pool, 371
arrays, 382
constants and local variables in a for loop, 365, 369
while loop, 372
constraints, static, 136
definition, 300
isub instruction
compilation examples, arithmetic, 370
definition, 301
items
class file items, 93
iushr instruction
definition, 302
ixor instruction
compilation examples, arithmetic, 370
definition, 303

Contents | Prev | Next | Index

The JavaTM Virtual Machine Specification
Copyright © 1999 Sun Microsystems, Inc. All rights reserved
Please send any comments or corrections to jvm@java.sun.com