org.jikesrvm.compilers.opt.bc2ir
Class HandlerBlockLE

java.lang.Object
  extended by org.jikesrvm.compilers.opt.bc2ir.BasicBlockLE
      extended by org.jikesrvm.compilers.opt.bc2ir.HandlerBlockLE

final class HandlerBlockLE
extends BasicBlockLE

Extend BasicBlockLE for handler blocks


Field Summary
(package private)  ExceptionHandlerBasicBlock entryBlock
          The synthetic entry basic block for this handler.
(package private)  RegisterOperand exceptionObject
          The RegisterOperand that code should use to access the caught exception object
 
Fields inherited from class org.jikesrvm.compilers.opt.bc2ir.BasicBlockLE
block, fallThrough, handlers, high, left, localState, low, max, parent, right, stackState
 
Constructor Summary
HandlerBlockLE(int loc, InlineSequence position, TypeOperand eType, ArchitectureSpecificOpt.RegisterPool temps, int exprStackSize, ControlFlowGraph cfg)
          Create a new exception handler BBLE (and exception handler basic block) for the specified bytecode index and exception type.
 
Method Summary
(package private)  void addCaughtException(TypeOperand et)
           
(package private)  byte mayCatchException(TypeReference et)
           
(package private)  byte mustCatchException(TypeReference et)
           
 
Methods inherited from class org.jikesrvm.compilers.opt.bc2ir.BasicBlockLE
addHandler, clearGenerated, clearInCodeOrder, clearLocalKnown, clearSelfRegen, clearStackKnown, copyIntoLocalState, copyLocalState, genState, isBlack, isGenerated, isInCodeOrder, isLocalKnown, isReadyToGenerate, isRed, isSelfRegen, isStackKnown, setBlack, setGenerated, setInCodeOrder, setLocalKnown, setRed, setSelfRegen, setStackKnown, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

exceptionObject

final RegisterOperand exceptionObject
The RegisterOperand that code should use to access the caught exception object


entryBlock

final ExceptionHandlerBasicBlock entryBlock
The synthetic entry basic block for this handler. It contains the instruction sequence to get the caught exception object into a "normal" register operand (exceptionObject);

Constructor Detail

HandlerBlockLE

HandlerBlockLE(int loc,
               InlineSequence position,
               TypeOperand eType,
               ArchitectureSpecificOpt.RegisterPool temps,
               int exprStackSize,
               ControlFlowGraph cfg)
Create a new exception handler BBLE (and exception handler basic block) for the specified bytecode index and exception type.

Parameters:
loc - bytecode index
position - inline sequence
eType - exception type
temps - the register pool to allocate exceptionObject from
exprStackSize - max size of expression stack
cfg - ControlFlowGraph into which the block will eventually be inserted
Method Detail

addCaughtException

void addCaughtException(TypeOperand et)

mayCatchException

byte mayCatchException(TypeReference et)

mustCatchException

byte mustCatchException(TypeReference et)