mjc

Uses of Class
org.multijava.util.backend.BasicBlock

Packages that use BasicBlock
org.multijava.util.backend Provides an optimizer for methods for the compilers in MultiJava and the Java Modeling Language
 

Uses of BasicBlock in org.multijava.util.backend
 

Fields in org.multijava.util.backend declared as BasicBlock
private  BasicBlock BasicBlock.next
           
private  BasicBlock[] BasicBlock.successors
           
private  BasicBlock QTemporary.defBlock
           
private  BasicBlock QTemporary.useBlock
           
private  BasicBlock[] ControlFlow.bblocks
           
private  BasicBlock[] ControlFlow.eblocks
           
private  BasicBlock TreeWalker.currentBlock
           
private  BasicBlock[] TreeWalker.bblocks
           
private  BasicBlock[] TreeWalker.eblocks
           
private  BasicBlock[] LivenessAnalysis.bblocks
           
private  BasicBlock[] LivenessAnalysis.eblocks
           
private  BasicBlock[] TraceControlFlow.bblocks
           
private  BasicBlock[] TraceControlFlow.eblocks
           
 

Methods in org.multijava.util.backend that return BasicBlock
 BasicBlock[] BasicBlock.getSuccessors()
          Returns the successors of this block
private  BasicBlock[] BasicBlock.buildSuccessorList()
           
static BasicBlock ControlFlow.findBasicBlock(InstructionHandle handle)
           
protected  BasicBlock TreeWalker.getBasicBlock(int which)
           
 BasicBlock QJump.getTarget()
          Returns the target of this jump
 BasicBlock[] QSwitch.getTargets()
          Returns the targets
 

Methods in org.multijava.util.backend with parameters of type BasicBlock
 void BasicBlock.setNext(BasicBlock next)
          Sets the next basic block in textual order
private  void BasicBlock.optimizeOrder(BasicBlock[] bblocks, CodeSequence seq)
           
private  QQuadruple[] BasicBlock.getTransition(BasicBlock target)
           
 void QTemporary.use(BasicBlock block, int pos)
          Uses a temporary
 void QTemporary.def(BasicBlock block, int pos)
          Uses a temporary
static QTemporary[] QQuadruple.buildQuadruples(MethodEnv env, BasicBlock block, InstructionHandle[] insns, QTemporary[] entryStack, ArrayList vect)
          Builds the quadruple list
 void CodeSequence.jumpToBasicBlock(BasicBlock block)
          Adds a basic block and a jump instruction as needed
 void CodeSequence.plantBasicBlock(BasicBlock block)
          Adds a basic block at the end of the sequence
 void CodeSequence.plantBasicBlock(BasicBlock block, JumpInstruction jump, QQuadruple[] transition)
          Adds a basic block at the end of the sequence
 void CodeSequence.plantBasicBlock(BasicBlock block, int max)
          Adds a basic block at the end of the sequence
private  void ControlFlow.closeBasicBlock(BasicBlock current, ArrayList body, ArrayList bblocks)
           
protected static void ControlFlow.setMarked(BasicBlock[] bblocks, boolean marked)
           
private  void TreeWalker.traverseInstructions(BasicBlock block)
           
private  void LivenessAnalysis.analyse(BasicBlock block)
          Analyses a tree
private  void LivenessAnalysis.analyseNode(BasicBlock block, int pos, QNode node)
          Processes a node
private  boolean LivenessAnalysis.calculateLiveness(BasicBlock block)
          Analyses a tree
private  boolean LivenessAnalysis.calculateLiveness(BasicBlock block, int pos, int branch, QNode node)
          Processes a node
private  QTemporary[] LivenessAnalysis.liveout(BasicBlock block, int pos, int branch)
           
private  void TraceControlFlow.trace(BasicBlock block)
          Prints a trace of quadruples
 

Constructors in org.multijava.util.backend with parameters of type BasicBlock
TreeWalker(BasicBlock[] bblocks, BasicBlock[] eblocks)
          Creates a new instruction handle.
DeadcodeElimination(BasicBlock[] bblocks, BasicBlock[] eblocks)
          Creates a new instruction handle.
LivenessAnalysis(BasicBlock[] bblocks, BasicBlock[] eblocks)
          Creates a new instruction handle.
RegisterAllocation(MethodEnv env, BasicBlock[] bblocks, BasicBlock[] eblocks, LivenessAnalysis live)
          Creates a new instruction handle.
StackSchleduler(BasicBlock[] bblocks, BasicBlock[] eblocks)
          Creates a new instruction handle.
TraceControlFlow(BasicBlock[] bblocks, BasicBlock[] eblocks)
          Creates a new instruction handle.
 


mjc

mjc is Copyright (C) 2000-2004 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. mjc is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.