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 instruction
- constraints, 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