Index
NOTE - Due to the complex technique of generating this extensive index, it has no hyperlinks in
the first printing of this document. You can look up pages by double-indirection. (1) Look up an entry here, get its page
number, then (2) go to the Table of Contents and find the section that contains that page number, then
you can click on that heading in the Table of Contents to jump directly to the section you want.
A
aaload instruction, 156 aastore instruction, 157
constraints, structural, 123 in Java Virtual Machine assembly language examples, arrays, 358
abnormal completion
term definition, 68
abstract keyword
See also AbstractMethodError; ACC_ABSTRACT modifier class, term definition, 24 methods, 28
as interface members, 32
AbstractMethodError, 44
anewarray , 162 checkcast , 175 as class preparation error, 39 constant pool resolution generation of, 143 getfield , 226 getstatic , 228 instanceof , 257 invokeinterface , 260 invokeinterface_quick , 403 invokespecial , 263 invokestatic , 266 invokevirtual , 268 multianewarray , 316 new , 318 putfield , 325 putstatic , 327
ACC_ABSTRACT modifier
See also abstract keyword (access_flags item of ClassFile structure), 86 (access_flags item of method_info structure), 104
ACC_FINAL modifier
See also final keyword (access_flags item of ClassFile structure), 86 (access_flags item of field_info structure), 102 (access_flags item of method_info structure), 104
ACC_INTERFACE modifier
See also interfaces (access_flags item of ClassFile structure), 86
ACC_NATIVE modifier
See also native keyword (access_flags item of method_info structure), 104
ACC_PRIVATE modifier
See also private keyword (access_flags item of field_info structure), 102 (access_flags item of method_info structure), 104
ACC_PROTECTED modifier
See also protected keyword (access_flags item of field_info structure), 102 (access_flags item of method_info structure), 104
ACC_PUBLIC modifier
See also public keyword (access_flags item of ClassFile structure), 86 (access_flags item of field_info structure), 102 (access_flags item of method_info structure), 104
ACC_STATIC modifier
See also static keyword
ACC_STATIC modifier (cont. )
(access_flags item of field_info structure), 102 (access_flags item of method_info structure), 104
ACC_SUPER modifier
See also superclasses (access_flags item of ClassFile structure), 86
ACC_SYNCHRONIZED modifier
See also synchronization (access_flags item of method_info structure), 104
ACC_TRANSIENT modifier
See also transient keyword (access_flags item of field_info structure), 102
ACC_VOLATILE modifier
See also volatile keyword (access_flags item of field_info structure), 102
access control
See also access_flags item, IllegalAccessError instance initialization methods, access permissions, 69 qualified names and, 22
access_flags item
See also access control; security (ClassFile structure), 86 (field_info structure), 102 (method_info structure), 104
accessing
See also loading arrays, 34 hidden fields, 26 jump table
by index and jump, tableswitch , 335 by key match and jump, lookupswitch , 300
local variables, structural constraints on instructions, 122
aconst_null instruction, 159 actions
main memory subsystem
lock, 373 read, 373 unlock, 373 write, 373
prescient store, with threads, 378 thread
assign, 372 constraints on relationships among, 373 load, 373 lock, 373 store, 373 unlock, 373 use, 372
active use
term definition, 46
adding
double, dadd , 179 float, fadd , 207 int, iadd , 238 long, ladd , 285
algorithms
class file verification, 125 constant pool resolution of
arrays, 141 classes, 141 classes and interfaces loaded by a class loader, 144 classes and interfaces not loaded by a class loader, 141 interfaces, 141
conversion of bytes item, CONSTANT_Float_info structure, 97 conversion of high_bytes and low_bytes items, CONSTANT_Double_info structure, 98 finally clause, data-flow analysis during class file verification, 135 string literals, constant pool resolution, 149
alignment
code array, 111 Java Virtual Machine instructions, implementation implications, 71
aload instruction, 160
See also astore instruction, wide instruction constraints, static, 121
aload_<n> instructions, 161
See also astore_<n> instructions constraints, static, 121 in Java Virtual Machine assembly language examples
arrays, 357, 358 catching exceptions, 363, 364, 365 compiling finally, 367, 368, 369 invoking methods, 352, 354 operand stack operations, 361 synchronization, 370 throwing exceptions, 362, 363 working with class instances, 355, 356
ANDing
int, bitwise, iand , 240 long, bitwise, land , 287
anewarray instruction, 162
constraints, static, 120 in Java Virtual Machine assembly language examples, arrays, 357
anewarray_quick instruction, 392 API (Application Programmer Interface)
Java Virtual Machine and ClassLoader class contract, possible future changes, 144
areturn instruction, 163
constraints, structural, 123 in Java Virtual Machine assembly language examples
arrays, 358 working with class instances, 355, 356
arithmetic
adding
double, dadd , 179 float, fadd , 207 int, iadd , 238 long, ladd , 285
ArithmeticException, 38 dividing
double, ddiv , 185 float, fdiv , 213 int, idiv , 243 long, ldiv , 295
exceptions
ArithmeticException, idiv , 243 ArithmeticException, irem , 271 ArithmeticException, ldiv , 295 ArithmeticException, lrem , 303
instruction set, summary, 75 Java Virtual Machine assembly language examples, 345 multiplying
double, dmul , 189 float, fmul , 217 int, imul , 254 long, lmul , 298
negating
double, dneg , 191 float, fneg , 219 int, ineg , 255 long, lneg , 299
remainder
double, drem , 192 float, frem , 220 int, irem , 271 long, lrem , 303
subtracting
double, dsub , 197 float, fsub , 225 int, isub , 277 long, lsub , 309
ArithmeticException, 38
idiv , 243 irem , 271 ldiv , 295 lrem , 303
ArrayIndexOutOfBoundsException
See also IndexOutOfBoundsException aaload , 156 aastore , 158 baload , 169 bastore , 170 caload , 172 castore , 173 daload , 181 dastore , 182 faload , 209 fastore , 210 iaload , 239 iastore , 241 laload , 286 lastore , 288 saload , 331 sastore , 332
arraylength instruction, 164 arrays
See also class(es); interfaces; reference(s); types accessing, 34 ArrayStoreException, 38 C-like syntax, use in ClassFile specification, 83 classes of, 13 components, 33
as kind of variable, 11
constant pool resolution of, 141, 146 creating, 34
creation expression, 9 instruction summary, 79 multidimensional, multianewarray , 316
arrays (cont. )
multidimensional, multianewarray_quick , 421 with components of primitive type, newarray , 320 with components of reference type, anewarray , 162 with components of reference type, anewarray_quick , 392
dimensions, number limitation, 136 errors
AbstractMethodError, anewarray , 143 AbstractMethodError, multianewarray , 316 AbstractMethodError, new , 318 ClassFormatError, anewarray , 142 ClassFormatError, multianewarray , 316 ClassFormatError, new , 318 ExceptionInInitializerError, anewarray , 143 ExceptionInInitializerError, multianewarray , 316 ExceptionInInitializerError, new , 318 IllegalAccessError, anewarray , 143, 146 IllegalAccessError, multianewarray , 316 IllegalAccessError, new , 318 InstantiationError, new , 318 NoClassDefFoundError, anewarray , 142 NoClassDefFoundError, multianewarray , 316 NoClassDefFoundError, new , 318 VerifyError, anewarray , 142 VerifyError, multianewarray , 316 VerifyError, new , 318
exceptions
ArrayIndexOutOfBoundsException, 34 ArrayIndexOutOfBoundsException, aaload , 156 ArrayIndexOutOfBoundsException, aastore , 158 ArrayIndexOutOfBoundsException, baload , 169 ArrayIndexOutOfBoundsException, bastore , 170 ArrayIndexOutOfBoundsException, caload , 172 ArrayIndexOutOfBoundsException, castore , 173 ArrayIndexOutOfBoundsException, daload , 181 ArrayIndexOutOfBoundsException, dastore , 182 ArrayIndexOutOfBoundsException, faload , 209 ArrayIndexOutOfBoundsException, fastore , 210 ArrayIndexOutOfBoundsException, iaload , 239 ArrayIndexOutOfBoundsException, iastore , 241 ArrayIndexOutOfBoundsException, laload , 286 ArrayIndexOutOfBoundsException, lastore , 288 ArrayIndexOutOfBoundsException, saload , 331 ArrayIndexOutOfBoundsException, sastore , 332 ArrayStoreException, aastore , 158 NegativeArraySizeException, anewarray , 162 NegativeArraySizeException, multianewarray , 316 NegativeArraySizeException, new , 318 NegativeArraySizeException, newarray , 320 NegativeArraySizeException, anewarray_quick , 392 NegativeArraySizeException, multianewarray_quick , 421 NullPointerException, aaload , 156 NullPointerException, aastore , 158 NullPointerException, arraylength , 164 NullPointerException, baload , 169 NullPointerException, bastore , 170 NullPointerException, caload , 172 NullPointerException, castore , 173 NullPointerException, daload , 181 NullPointerException, dastore , 182 NullPointerException, faload , 209 NullPointerException, fastore , 210 NullPointerException, iaload , 239 NullPointerException, iastore , 241 NullPointerException, laload , 286 NullPointerException, lastore , 288 NullPointerException, saload , 331 NullPointerException, sastore , 332
field descriptor
dimension limits on, 94 name_index item (CONSTANT_Class_info) reference, 93 specification, 91
initializing, 34 Java Virtual Machine assembly language examples, 356 length, 33
fetching, arraylength , 164
loading
byte or boolean from, baload , 169 char from, caload , 172 double from, daload , 181 float from, faload , 209 int from, iaload , 239 long from, laload , 286 reference from, aaload , 156 short from, saload , 331
manipulating, instruction summary, 79 as reference type, 61 runtime exceptions
ArrayStoreException, 38 IndexOutOfBoundsException, 38 NegativeArraySizeException, 38
storing
byte or boolean into, bastore , 170 char into, castore , 173 double into, dastore , 182 float into, fastore , 210 int into, iastore , 241 long into, lastore , 288 reference into, aastore , 157 short into, sastore , 332
term definition, 32 types, 9, 33
Java Virtual Machine mapping, 74
variables, 33
ArrayStoreException, 38
aastore , 158
ASCII
term definition, 5
assembly language
Java Virtual Machine, format, 340
assignable
term definition, 18
assignment
compatible, 10
failure, ArrayStoreException thrown when, 38 term definition, 18
conversion, 17
context, 14
variable
by threads, 54 variable initializers role in, 27
assumptions
meaning of `must' in instruction descriptions, 151
asterisk (*)
descriptor grammar notation use, 90
astore instruction, 165
See also aload instruction; ret instruction; wide instruction constraints, static, 121
astore_<n> instructions, 166
See also aload_<n> instructions, ret instructionconstraints, static, 121 in Java Virtual Machine assembly language examples
arrays, 357, 358 catching exceptions, 363, 364, 365 compiling finally, 367, 368, 369 synchronization, 370 throwing exceptions, 363 working with class instances, 355
athrow instruction, 167
constraints, structural, 123 in Java Virtual Machine assembly language examples
compiling finally, 367, 369 synchronization, 370 throwing exceptions, 362
attribute_info structure
(generic structure of items in attributes tables), 106
attribute_length item
(attribute_info generic structure), 107 (Code_attribute structure), 111 (ConstantValue_attribute structure), 109
attribute_length item (cont. )
(Exceptions_attribute structure), 114 (LineNumberTable_attribute structure), 115 (LocalVariableTable_attribute structure), 117 (SourceFile_attribute structure), 108
attribute_name_index item
(attribute_info generic structure), 107 (Code_attribute structure), 111 (ConstantValue_attribute structure), 109 (Exceptions_attribute structure), 114 (LineNumberTable_attribute structure), 115 (LocalVariableTable_attribute structure), 117 (SourceFile_attribute structure), 108
attributes
See also ClassFile structure:
attribute_length item attribute_name_index item attributes_count item attributes table
See also predefined attributes :
Code_attribute ConstantValue_attribute Exceptions_attribute LineNumberTable_attribute LocalVariableTable_attribute SourceFile_attribute
defining and naming new, 107
attributes_count item
(ClassFile structure), 88 (Code_attribute structure), 113 (field_info structure), 103 (method_info structure), 106
attributes table
(ClassFile structure), 89 (Code_attribute structure), 113 (field_info structure), 103 (method_info structure), 106
Contents | Prev | Next | Index
Java Virtual Machine Specification
Copyright © 1996, 1997 Sun Microsystems, Inc.
All rights reserved
Please send any comments or corrections to jvm@java.sun.com