Contents | Prev | Next | IndexThe JavaTM Virtual Machine Specification


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