org.jikesrvm.compilers.opt.ssa
Class SSADictionary.AllInstructionEnumeration

java.lang.Object
  extended by org.jikesrvm.compilers.opt.ssa.SSADictionary.AllInstructionEnumeration
All Implemented Interfaces:
Enumeration<Instruction>
Enclosing class:
SSADictionary

static final class SSADictionary.AllInstructionEnumeration
extends Object
implements Enumeration<Instruction>

This class implements an Enumeration over all instructions for a basic block. This enumeration includes explicit instructions in the IR and implicit phi instructions for heap variables, which are stored only in this lookaside structure.


Field Summary
private  Enumeration<Instruction> explicitInstructions
          An enumeration of the explicit instructions in the IR for a basic block
private  Iterator<Instruction> implicitInstructions
          An enumeration of the implicit instructions in the IR for a basic block.
private  Instruction labelInstruction
          The label instruction for the basic block
 
Constructor Summary
SSADictionary.AllInstructionEnumeration(BasicBlock bb, SSADictionary dict)
          Construct an enumeration for all instructions, both implicit and explicit in the IR, for a given basic block
 
Method Summary
 boolean hasMoreElements()
          Are there more elements in the enumeration?
 Instruction nextElement()
          Get the next instruction in the enumeration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

explicitInstructions

private final Enumeration<Instruction> explicitInstructions
An enumeration of the explicit instructions in the IR for a basic block


implicitInstructions

private final Iterator<Instruction> implicitInstructions
An enumeration of the implicit instructions in the IR for a basic block. These instructions appear only in the SSA dictionary lookaside structure.


labelInstruction

private Instruction labelInstruction
The label instruction for the basic block

Constructor Detail

SSADictionary.AllInstructionEnumeration

SSADictionary.AllInstructionEnumeration(BasicBlock bb,
                                        SSADictionary dict)
Construct an enumeration for all instructions, both implicit and explicit in the IR, for a given basic block

Parameters:
bb - the basic block whose instructions this enumerates
Method Detail

hasMoreElements

public boolean hasMoreElements()
Are there more elements in the enumeration?

Specified by:
hasMoreElements in interface Enumeration<Instruction>
Returns:
true or false

nextElement

public Instruction nextElement()
Get the next instruction in the enumeration

Specified by:
nextElement in interface Enumeration<Instruction>
Returns:
the next instruction