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

# R

recursion

controlling runaway

Java virtual machine stack size limit use for, 68
native method stack size limit use for, 71

reference type

branch if reference

comparison succeeds, if_acmp<cond>, 266
is null, ifnull, 272
not null, ifnonnull, 271

determining if an object is a particular

instanceof, 278

Java virtual machine

handling of, 62
data type, 61

null, testing for, 89
values, 11

components and, 66

reference(s)

field, resolution of, 167
final fields, 30
symbolic, mapping to concrete values as part of resolution, 165

reflection

as reason for initialization, 170
Java virtual machine support for, 91

register

program counter (pc), 67

remainder

double, drem, 212
float, frem, 242
int, irem, 295
long, lrem, 326

representation

internal, class names, 99

reserved opcodes

breakpoint, 172
impdep1, 172
impdep2, 172

resolution

as part of linking, 166
class and interface, 166
definition, 50
errors

AbstractMethodError, thrown during method resolution, 168
ClassCircularityError, thrown during class or interface resolution, 164
IllegalAccessError, thrown during class or interface resolution, 167
IllegalAccessError, thrown during field resolution, 167
IllegalAccessError, thrown during method resolution, 168
IncompatibleClassChangeError, thrown during class or interface resolution, 164
IncompatibleClassChangeError, thrown during interface method resolution, 169
IncompatibleClassChangeError, thrown during method resolution, 168
NoSuchFieldError, thrown during field resolution, 167
NoSuchFieldError, thrown during interface method resolution, 169
NoSuchFieldError, thrown during method resolution, 168

field, 167
instructions causing

anewarray, 181
checkcast, 193
getfield, 248
getstatic, 250
instanceof, 278
invokeinterface, 280
invokespecial, 284
invokestatic, 288
invokevirtual, 291
multianewarray, 339
new, 341
putfield, 348
putstatic, 350

lazy, 49
method, instance or class, 167
method, interface, 168
overview, 47
static, 49
types of, 47

ret instruction

See also jsr instruction; jsr_w instruction
compilation examples, compiling finally, 392, 394
constraints

static, 136
structural, 139

definition, 352
returnAddress type used by, 66
try-finally clause implementation use, Sun's Java compiler output characteristics, 150

return

descriptor, syntax and meaning, 102
from method

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

from subroutine, ret, 352
reference value, areturn, 182
type, method, structural constraints on instructions, 138

return instruction

compilation examples

arrays, 382, 383
catching exceptions, 388, 389, 390, 391
compiling finally, 392, 393
constants and local variables in a for loop, 365, 367, 369
while loop, 372, 373
working with class instances, 379, 381
throwing exceptions, 387, 388

constraints, structural, 138
definition, 353

returnAddress type

characteristics and values, 66
definition, 62
instance constraints, 139
local variable constraints, 139

right parentheses )

meaning in method descriptor, 102

round to nearest

See also numeric
definition, 11, 85

round towards zero

definition, 11, 85

runFinalizersOnExit method

Java virtual machine exit role, 57

runtime

class files verification issues, 140
data areas

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

RuntimeException as Exception class direct subclass, 43
type, as incorrect terminology, 15

RuntimeException

as Throwable class direct subclass, 43

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