final class HardwareTrapCompiledMethod extends CompiledMethod
BASELINE, cmid, compilationTime, instructions, JNI, method, NATIVE_METHOD_LINE_NUMBER, NUM_COMPILER_TYPES, OPT, osrJTOCoffset, TRAP
Constructor and Description |
---|
HardwareTrapCompiledMethod(int id,
RVMMethod m) |
Modifier and Type | Method and Description |
---|---|
int |
findCatchBlockForInstruction(Offset instructionOffset,
RVMType exceptionType)
Find "catch" block for a machine instruction of
this method that might be guarded
against specified class of exceptions by a "try" block.
|
String |
getCompilerName() |
int |
getCompilerType()
Identify the compiler that produced this compiled method.
|
void |
getDynamicLink(DynamicLink dynamicLink,
Offset instructionOffset)
Fetch symbolic reference to a method that's called by one of
this method's instructions.
|
ExceptionDeliverer |
getExceptionDeliverer() |
boolean |
isWithinUninterruptibleCode(Offset instructionOffset)
Return whether or not the given address (which is purported to be inside
of the compiled method's code array) corresponds to an uninterruptible context.
|
void |
printStackTrace(Offset instructionOffset,
PrintLN out)
Print this compiled method's portion of a stack trace
|
void |
set(StackBrowser browser,
Offset instr)
Set the stack browser to the innermost logical stack frame of this method.
|
boolean |
up(StackBrowser browser)
Advance the StackBrowser up one internal stack frame, if possible
|
clearActiveOnStack, codeArrayForOffset, compileComplete, compilerTypeToString, containsReturnAddress, findLineNumberForInstruction, getCompilationTime, getEntryCodeArray, getId, getInstructionAddress, getInstructionOffset, getInstructionOffset, getMethod, getOsrJTOCoffset, getSamplesReset, hasBridgeFromNativeAnnotation, isActiveOnStack, isCompiled, isInvalid, isObsolete, isOutdated, isSpecialForOSR, numberOfInstructions, setActiveOnStack, setCompilationTime, setInvalid, setObsolete, setOutdated, setSamplesReset, setSpecialForOSR, size
HardwareTrapCompiledMethod(int id, RVMMethod m)
public int getCompilerType()
CompiledMethod
getCompilerType
in class CompiledMethod
public String getCompilerName()
getCompilerName
in class CompiledMethod
public ExceptionDeliverer getExceptionDeliverer()
getExceptionDeliverer
in class CompiledMethod
public int findCatchBlockForInstruction(Offset instructionOffset, RVMType exceptionType)
CompiledMethod
Notes:
null
pointer dereference, array bounds check,
or divide by zero) on a machine architecture with variable length
instructions.
In such situations we'd have no idea how far to back up the
instruction pointer
to point to the "call site" or "exception site".
findCatchBlockForInstruction
in class CompiledMethod
instructionOffset
- offset of machine instruction from start of this method, in bytesexceptionType
- type of exception being thrown - something like "NullPointerException"public void getDynamicLink(DynamicLink dynamicLink, Offset instructionOffset)
CompiledMethod
Notes:
getDynamicLink
in class CompiledMethod
dynamicLink
- place to put return informationinstructionOffset
- offset of machine instruction from start of
this method, in bytespublic boolean isWithinUninterruptibleCode(Offset instructionOffset)
CompiledMethod
isWithinUninterruptibleCode
in class CompiledMethod
instructionOffset
- of addr from start of instructions in bytestrue
if the IP is within an Uninterruptible method, false
otherwise.public void printStackTrace(Offset instructionOffset, PrintLN out)
CompiledMethod
printStackTrace
in class CompiledMethod
instructionOffset
- offset of machine instruction from start of methodout
- the PrintLN to print the stack trace to.public void set(StackBrowser browser, Offset instr)
CompiledMethod
set
in class CompiledMethod
browser
- the browserinstr
- the offset of the instructionpublic boolean up(StackBrowser browser)
CompiledMethod
up
in class CompiledMethod
browser
- the browser to advance