jbet
Class InstrBlock

java.lang.Object
  extended by jbet.Block
      extended by jbet.InstrBlock

public class InstrBlock
extends Block


Nested Class Summary
 
Nested classes/interfaces inherited from class jbet.Block
Block.ExcInfo, Block.ExitRec
 
Field Summary
 Snippit code
           
 boolean entry
           
 MethodInfo from
           
 java.lang.String handler
           
 DataFlow.ProcState pse
           
 DataFlow.ProcState psx
           
 
Fields inherited from class jbet.Block
Blc_const, Blc_disabled, Blc_flags, Blc_idempotent, Blc_indet, Blc_NoAlias, blflags, En_flags, En_jsr, enflags, Erol_Cond, Erol_LoopCond, Erol_names, Erol_Single, Erol_Special, Erol_Switch, Erol_Unknown, es, Exit_DoubleCons, Exit_flags, Exit_NewFrame, Exit_swap, swval
 
Constructor Summary
InstrBlock()
           
 
Method Summary
 DataFlow.ProcState entry()
           
 DataFlow.ProcState exit()
           
static java.util.Vector FindBasicBlocks(MethodInfo meth, java.util.Hashtable callclasses)
          Split the input method into basic blocks and exit records.
 void printinfo(LineWriter out, boolean printcode)
           
 
Methods inherited from class jbet.Block
getSuccessors, getSuccessors, getSuccessors
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

code

public Snippit code

pse

public DataFlow.ProcState pse

psx

public DataFlow.ProcState psx

from

public MethodInfo from

entry

public boolean entry

handler

public java.lang.String handler
Constructor Detail

InstrBlock

public InstrBlock()
Method Detail

entry

public DataFlow.ProcState entry()

exit

public DataFlow.ProcState exit()

printinfo

public void printinfo(LineWriter out,
                      boolean printcode)
Overrides:
printinfo in class Block

FindBasicBlocks

public static java.util.Vector FindBasicBlocks(MethodInfo meth,
                                               java.util.Hashtable callclasses)
                                        throws ClassFileException,
                                               DataFlowException
Split the input method into basic blocks and exit records. Method calls to classes in CALLCLASSES also split basic blocks. Other method calls are left as ordinary instructions, and do not split basic blocks.

Parameters:
meth - The method to split
callclasses - Classes for which method calls to should split basic blocks
Returns:
List of basic blocks (InstrBlock)
Throws:
ClassFileException
DataFlowException