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
Java VM Specification