org.jikesrvm.compilers.opt.ir
Class ExceptionHandlerBasicBlockBag

java.lang.Object
  extended by org.jikesrvm.compilers.opt.ir.ExceptionHandlerBasicBlockBag

public final class ExceptionHandlerBasicBlockBag
extends Object

A container for the chain of exception handlers for a basic block.

See Also:
BasicBlock, ExceptionHandlerBasicBlock

Field Summary
private  ExceptionHandlerBasicBlockBag caller
          If this is an inlined method, then this points to the enclosing method's (the caller's) ExcpetionHandlerBasicBlockBag.
private  ExceptionHandlerBasicBlock[] local
          The array of ExceptionHandlerBasicBlocks constructed by BC2IR based on the local set of handlers visible within a single method
 
Constructor Summary
ExceptionHandlerBasicBlockBag(ExceptionHandlerBasicBlock[] l, ExceptionHandlerBasicBlockBag c)
          Create an EHBBB
 
Method Summary
 Enumeration<BasicBlock> enumerator()
          An enumeration of all the exception handler basic blocks (transitively) in the EHBBB.
 ExceptionHandlerBasicBlockBag getCaller()
          only for use by BC2IR; return caller
 void remove(BasicBlock bb)
          take an element out f the bag.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

local

private ExceptionHandlerBasicBlock[] local
The array of ExceptionHandlerBasicBlocks constructed by BC2IR based on the local set of handlers visible within a single method


caller

private final ExceptionHandlerBasicBlockBag caller
If this is an inlined method, then this points to the enclosing method's (the caller's) ExcpetionHandlerBasicBlockBag. If this is the outermost method, then this is null

Constructor Detail

ExceptionHandlerBasicBlockBag

public ExceptionHandlerBasicBlockBag(ExceptionHandlerBasicBlock[] l,
                                     ExceptionHandlerBasicBlockBag c)
Create an EHBBB

Parameters:
l - the local array of EHBBs
c - the enclosing EHBBB
Method Detail

getCaller

public ExceptionHandlerBasicBlockBag getCaller()
only for use by BC2IR; return caller

Returns:
the contents of caller

remove

public void remove(BasicBlock bb)
take an element out f the bag. Throw an exception if the block to remove is not in the bag


enumerator

public Enumeration<BasicBlock> enumerator()
An enumeration of all the exception handler basic blocks (transitively) in the EHBBB.

Returns:
An enumeration of the exception handler basic blocks in the bag.