Contents | Prev | Next | IndexThe JavaTM Virtual Machine Specification


S

S character
field descriptor meaning, 91
saload instruction, 331
sastore instruction, 332
security
See also access_flags item
verification of class files, 124
SecurityException, 39
semantics
attributes, optional, 107
invokespecial instruction, access flag use to select alternatives, 86
Java integer and floating-point operator support, 76
Java types that have no direct integer arithmetic support, 75
Java Virtual Machine, strategies for implementing, 82
shadowing
See overriding
shift
left int, ishl, 273
left long, lshl, 305
right int
shift (cont.)
arithmetic, ishr, 274
logical, iushr, 278
right long
arithmetic, lshr, 306
logical, lushr, 310
short type
converting int to, i2s, 237
field descriptor specification, 91
instruction set handling of, 72
integer arithmetic not directly supported, 75
loading from arrays, saload, 331
pushing, sipush, 333
storing into arrays, sastore, 332
term definition, 58
value range, 59
signature
term definition, 28
sipush instruction, 333
size
heap, setting with -ms and -mx flags, JDK 1.0.2 implementation, 63
Java stack, setting with -oss flag, JDK 1.0.2 implementation, 63
local variables, 66
method area, JDK 1.0.2 implementation constraints, 64
native method stacks, setting with -ss flag, JDK 1.0.2 implementation, 65
operand stacks, 67
slashes (/)
class name use, 89
source code
compiled, Java Virtual Machine assembly language examples, format, 340
SourceFile_attribute structure
(element of exception_table array of ClassFile structure), 108
sourcefile_index item
(SourceFile_attribute structure), 108
StackOverflowError, 40
as Java stack-related error, 62
as native method stack-related error, 65
stacks
errors
OutOfMemoryError, 65
StackOverflowError, 62, 65
Java, 62
frames allocated from, 66
size, setting with -oss flag, JDK 1.0.2 implementation, 63
native method, 65
JDK 1.0.2 implementation bug, 65
size, setting with -oss flag, JDK 1.0.2 implementation, 63
operand
code verification, Pass 3 - bytecode verifier, 128
data flow analysis, 126
duplicating top, dup, 198
duplicating top and put three down in, dup_x2, 200
duplicating top and put two down in, dup_x1, 199
duplicating top two words, dup2, 201
duplicating top two words and put four down in, dup2_x2, 203
duplicating top two words and put three down in, dup2_x1, 202
frames used to hold, 67
management instruction summary, 79
maximum number of words, 111
merging, during data-flow analysis, 130
pop two words, pop2, 324
pop word, pop, 323
size limitation, 136
structural constraints on instructions, 122
swap top two words, swap, 334
standards
IEEE 754, 7
adding double, conformance, dadd, 179
adding float, conformance, fadd, 208
comparing double, conformance, dcmpg, 183
comparing double, conformance, dcmpl, 183
comparing float, conformance, fcmpg, 211
comparing float, conformance, fcmpl, 211
dividing double, conformance, ddiv, 185
dividing float, conformance, fdiv, 214
float and double type, conformance, 59
floating-point comparison, conformance, 80
floating-point double format bit layout, high_bytes and low_bytes items, 98
floating-point operation conformance to, 76
multiplying double, conformance, dmul, 189
multiplying float, conformance, fmul, 218
remainder, drem not the same as the, drem, 192
remainder, frem not the same as the, frem, 221
subtracting double, conformance, dsub, 197
subtracting float, conformance, fsub, 225
UTF-8 format, bibliographic reference, 101
start_pc item
(element of exception_table array of Code_attribute structure), 112
(element of line_number_table array of LineNumberTable_attribute structure), 116
(element of local_variable_table array of LocalVariableTable_attribute structure), 117
startup
Java Virtual Machine, overview, 40
state
capture, frame use for, 66
objects, persistent, transient variables not part of, 26
term definition, 9
of types, static initializer role in ensuring a consistent, 46
static
See also ACC_STATIC modifier
fields
get from classes, getstatic, 228
get from classes, getstatic_quick, 399
get from classes, getstatic2_quick, 400
put into classes, putstatic, 327
put into classes, putstatic_quick, 427
put into classes, putstatic2_quick, 428
initializers, 29
as not members of a class, 25
execution of during initialization, 46
methods
invoking, invokestatic, 265
invoking, invokestatic_quick, 410
stop method
Thread
as asynchronous exception cause, 37
as exception cause, 35
ThreadGroup as asynchronous exception cause, 37
storage
automatic management system, garbage collection as, 63
data, frame use for, 66
frame allocation, 66
instructions, summary, 74
requirements, Java Virtual Machine, platform independent characterization, 61
runtime data areas
constant pool, 64
heap, 63
Java stacks, 62
method area, 63
native method stacks, 65
pc register, 61
storing into
arrays
byte or boolean, bastore, 170
char, castore, 173
double, dastore, 182
float, fastore, 210
int, iastore, 241
long, lastore, 288
reference, aastore, 157
short, sastore, 332
local variables
double, dstore, 195
double, dstore_<n>, 196
float, fstore, 223
float, fstore_<n>, 224
int, istore, 275
int, istore_<n>, 276
long, lstore, 307
long, lstore_<n>, 308
reference, astore, 165
reference, astore_<n>, 166
String class, 10
string_index item
(CONSTANT_String_info structure), 96
String type, 6
strings
See also String class, CONSTANT_Utf8_info structure
strings (cont.)
constant pool resolution of, 148
JDK 1.0.2 implementation bug, 148
conversion context, 14
String new instances creation triggered by, 49
term definition, 6
structures
class file structures, 83
subclass
term definition, 25
subpackages
term definition, 21
subroutine
jump to
jsr, 280
wide index, jsr_w, 281
return from, ret, 329
subtracting
double, dsub, 197
float, fsub, 225
int, isub, 277
long, lsub, 309
super_class item
(ClassFile structure), 87
super method
term definition, 30
superclasses
See also ACC_SUPER modifier
checking for, 126
methods, invoking, invokesuper_quick, 408
super keyword
accessing, overridden methods with, 27
accessing hidden fields with, 26
super method as constructor invocation, 30
term definition, 25
superinterfaces
term definition, 31
swap
operand stack words, swap, 334
swap instruction, 334
swapping
swap instruction, operand stack manipulation constraints, 67
threads example, 380
symbolic references
mapping to concrete values, constant pool resolution, (chapter), 139
symbols
See names
synchronization
See also ACC_SYNCHRONIZED modifier; threads
exception handling integration with, 35
instruction summary, 81
Java Virtual Machine assembly language examples, 369
locks, 386
synchronized method
double value return from, dreturn, 194
float value return from, freturn, 222
int value return from, ireturn, 272
long value return from, lreturn, 304
reference value return from, areturn, 163
void return from, return, 330
synchronized keyword
methods, 29
multithreaded actions, 53
operations, 386
specification, 386
thread-memory interaction, ordering rules, 54
syntax
class file, 84
class names references, 89
ClassFile structure, 84
descriptor grammar, 90
system services
transient variables potential role in, 26

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