Package | Description |
---|---|
org.jikesrvm.classloader |
Provides classes that implement the classloading system as well as
data types that represent Java entities like classes, fields, methods
and primitives.
|
org.jikesrvm.compilers.baseline |
Modifier and Type | Field and Description |
---|---|
private ExceptionHandlerMap |
NormalMethod.exceptionHandlerMap
try/catch/finally blocks for this method (
null --> none) |
Modifier and Type | Method and Description |
---|---|
(package private) ExceptionHandlerMap |
ExceptionHandlerMap.deepCopy() |
ExceptionHandlerMap |
NormalMethod.getExceptionHandlerMap()
Exceptions caught by this method.
|
(package private) static ExceptionHandlerMap |
ExceptionHandlerMap.readExceptionHandlerMap(DataInputStream input,
int[] constantPool) |
Constructor and Description |
---|
NormalMethod(TypeReference dc,
MemberReference mr,
short mo,
TypeReference[] et,
short lw,
short ow,
byte[] bc,
ExceptionHandlerMap eMap,
int[] lm,
LocalVariableTable lvt,
int[] constantPool,
Atom sig,
RVMAnnotation[] annotations,
RVMAnnotation[][] parameterAnnotations,
Object ad)
Construct a normal Java bytecode method's information
|
Modifier and Type | Method and Description |
---|---|
(package private) static int[] |
BaselineExceptionTable.encode(ExceptionHandlerMap emap,
int[] bytecodeMap)
Encode an exception table
|
private void |
BuildBB.markTryBlocks(ExceptionHandlerMap exceptions)
Mark all the blocks within try range as being Try blocks
used for determining the stack maps for Handler blocks
Only called when exceptions is not null.
|
private void |
BuildBB.processAthrow(ExceptionHandlerMap exceptions,
int athrowIndex)
Check if an athrow is within a try block, if it is, then handlers have this
block as their predecessor; which is registered in "processExceptionHandlers"
Otherwise, the athrow acts as a branch to the exit and that should be marked
here.
|
private void |
BuildBB.processExceptionHandlers(ExceptionHandlerMap exceptions)
For every handler, mark the blocks in its try block as its predecessors.
|
private void |
BuildBB.setupHandlerBBs(ExceptionHandlerMap exceptions)
For every handler, make a block that starts with the handler PC
Only called when exceptions is not null.
|
private void |
BuildBB.setupTryStartBBs(ExceptionHandlerMap exceptions)
For every try start, make a block that starts with the Try start,
mark it as a try start.
|