org.jikesrvm.compilers.opt.ir
Interface BasicBlockEnumeration

All Superinterfaces:
Enumeration<BasicBlock>
All Known Implementing Classes:
AnnotatedLSTNode.BBEnum, BasicBlock.BBEnum, BasicBlock.ComputedBBEnum, BasicBlock.ExceptionOutEdgeEnum, BasicBlock.InEdgeEnum, BasicBlock.NormalOutEdgeEnum, BasicBlock.OutEdgeEnum, EmptyBasicBlockEnumeration, IR.BitSetBBEnum

public interface BasicBlockEnumeration
extends Enumeration<BasicBlock>

Extend java.util.Enumeration to avoid downcasts from object. Also provide a preallocated empty basic block enumeration.


Field Summary
static BasicBlockEnumeration Empty
          Single preallocated empty BasicBlockEnumeration.
 
Method Summary
 BasicBlock next()
          Same as nextElement but avoid the need to downcast from Object.
 
Methods inherited from interface java.util.Enumeration
hasMoreElements, nextElement
 

Field Detail

Empty

static final BasicBlockEnumeration Empty
Single preallocated empty BasicBlockEnumeration. WARNING: Think before you use this; getting two possible concrete types may prevent inlining of hasMoreElements and next(), thus blocking scalar replacement. Only use Empty when we have no hope of scalar replacing the alternative (real) enumeration object.

Method Detail

next

BasicBlock next()
Same as nextElement but avoid the need to downcast from Object.