VM Spec

Contents | Prev | Next | Index | The JavaTM Virtual Machine Specification

symbols A B C D E F G H I J L M N O P Q R S T U V W Z

# S

S character

meaning in field or method descriptor, 101

saload instruction

definition, 354

sastore instruction

definition, 355

security

See also access_flags item
verification of class files, 140

SecurityException

definition, 44

semantics

attributes, optional, 116
integer and floating-point operator support, 85
invokespecial instruction, access flag use to select alternatives, 96
Java virtual machine, strategies for implementing, 92
types that have no direct integer arithmetic support, 84

shadowing

See overriding

shift

left int, ishl, 297
left long, lshl, 328
right int

arithmetic, ishr, 298
logical, iushr, 302

right long

arithmetic, lshr, 329
logical, lushr, 333

short type

converting int to, i2s, 259
definition, 62
instruction set handling, 81
integer arithmetic not directly supported, 84
loading from arrays, saload, 354
pushing, sipush, 356
storing into arrays, sastore, 355
value range, 63

signature

definition, 32

sipush instruction

definition, 356

size

operand stacks, 73
Sun's JDK and Java 2 SDK

heap, setting with -ms and -mx flags, 69
Java virtual machine stack, setting with -oss flag, 68
method area, constraints, 69
native method stacks, setting with -ss flag, 71

slashes

class name use, 99

SourceFile_attribute structure

(attributes table of ClassFile structure), 128

sourcefile_index item

(SourceFile_attribute structure), 129

StackOverflowError

definition, 45
as Java virtual machine stack-related error, 68
as native method stack-related error, 71

stacks

errors

OutOfMemoryError, 71
StackOverflowError, 68, 71

Java, 67
Java virtual machine

frames allocated from, 71
size, setting with -oss flag, Sun's JDK and Java 2 SDK, 68

native method, 70

size, setting with -oss flag, Sun's JDK and Java 2 SDK, 68

operand

code verification, Pass 3 - bytecode verifier, 143
data-flow analysis, 142
duplicating value(s), dup2, 221
duplicating value(s), dup2_x1, 222
duplicating value(s), dup2_x2, 223
duplicating value, dup, 218
duplicating value, dup_x1, 219
duplicating value, dup_x2, 220
management instruction summary, 88
maximum depth, 121
merging, during data-flow analysis, 145
pop value(s), pop2, 347
pop value, pop, 346
size limitation, 152
structural constraints on instructions, 137
swap values, swap, 357

standards

IEEE 754, 7

adding double, conformance, dadd, 198
adding float, conformance, fadd, 228
comparing double, conformance, dcmp<op>, 202
comparing float, conformance, fcmp<op>, 232
dividing double, conformance, ddiv, 205
dividing float, conformance, fdiv, 235
floating-point comparison, conformance, 85, 89
floating-point double format bit layout, high_bytes and low_bytes items, 109
floating-point operation conformance to, 85
multiplying double, conformance, dmul, 209
multiplying float, conformance, fmul, 239
remainder, drem not the same as, drem, 212
remainder, frem not the same as, frem, 242
subtracting double, conformance, dsub, 217
subtracting float, conformance, fsub, 247

UTF-8 format, bibliographic reference, 111

start_pc item

(exception_table array of Code_attribute structure), 122
(line_number_table array of LineNumberTable_attribute structure), 130
(local_variable_table array of LocalVariableTable_attribute structure), 132

startup

Java virtual machine, 46, 158

static modifier

See also ACC_STATIC modifier; class(es)
fields

get from classes, getstatic, 250
put into classes, putstatic, 350

initializers, 33

execution of during initialization, 51
not members of a class, 29

methods

invoking, invokestatic, 288

storage

automatic management system, garbage collection as, 68
data, frame use for, 71
frame allocation, 71
runtime data areas

heap, 68
Java virtual machine stack, 67
method area, 69
native method stacks, 70
pc register, 67
runtime constant pool, 70

storing

into arrays of type

byte or boolean, bastore, 189
char, castore, 192
double, dastore, 201
float, fastore, 231
int, iastore, 263
long, lastore, 310
reference, aastore, 176
short, sastore, 355

into local variables of type

double, dstore, 215
double, dstore_<n>, 216
float, fstore, 245
float, fstore_<n>, 246
int, istore, 299
int, istore_<n>, 300
long, lstore, 330
long, lstore_<n>, 331
reference, astore, 184
reference, astore_<n>, 185

strictfp modifier

See also ACC_STRICT flag, FP-strict floating-point mode
definition

class, 28
in method declarations, 33

String class

definition, 12

string_index item

(CONSTANT_String_info structure), 106

strings

See also String class, CONSTANT_Utf8_info structure
conversion context, 16
definition, 6
String new instances creation triggered by, 54

structures

class file structures, 93

subclass

definition, 29

subpackages

definition, 25

subroutine

jump to

jsr, 304
wide index, jsr_w, 305

return from, ret, 352

subtracting

double, dsub, 217
float, fsub, 247
int, isub, 301
long, lsub, 332

super_class item

(ClassFile structure), 97

super method

definition, 34

superclasses

See also ACC_SUPER flag
checking for, 141
definition, 29
super method as constructor invocation, 34
super modifier

accessing, overridden methods with, 32

superinterfaces

definition, 36

swap instruction

definition, 357

swapping

operand stack values, swap, 357
swap instruction, operand stack manipulation constraints, 73
threads example, 406

symbolic references

deriving from class or interface representation, 156
resolving, 165

symbols

See names

synchronization

See also ACC_SYNCHRONIZED flag; threads
compilation examples, 394
exception handling integration with, 40
locks, 412
synchronized method

double value return from, dreturn, 214
float value return from, freturn, 244
int value return from, ireturn, 296
long value return from, lreturn, 327
reference value return from, areturn, 182
void value return from, return, 353

synchronized modifier

in method declarations, 33
multithreaded actions, 59
operations, 412
specification, 412
thread-memory interaction, ordering rules, 60

syntax

class file specification, 94
field and method descriptor grammar, 99
internal form of class and interface names, 99

Synthetic_attribute structure

(attributes table of field_info or method_info structure), 127

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