All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class BIT.highBIT.BasicBlock

java.lang.Object
   |
   +----BIT.highBIT.BasicBlock

public class BasicBlock
extends Object
implements Cloneable
Represents a basic block.
Basic block is a section of code that has only one entry and exit point.


Variable Index

 o end_address
Represents the ending address (in # of instructions) of this basic block.
 o routine
Represents the routine that this basic block is defined in.
 o start_address
Represents the start address (in # of instructions) of this basic block.

Constructor Index

 o BasicBlock(Routine, int)
Constructor for BasicBlock class.

Method Index

 o addAfter(String, String, Object)
Add a call to classname.methodname after this basic block.
 o addBefore(String, String, Object)
Add a call to classname.methodname before this basic block.
 o clone()
 o getClassName()
 o getEndAddress()
Returns the ending offset of this basic block.
 o getMethodName()
 o getOldEndAddress()
 o getOldStartAddress()
 o getStartAddress()
Returns the starting offset of this basic block.
 o setEndAddress(int)
This method is used to adjust the end address of a basic block after insertion of instructions.
 o setStartAddress(int)
This method is used to adjust the start address of a basic block after insertion of instructions.
 o size()
This method retuns the size of this basic block.
 o split(Routine, int)
Splitting a BasicBlock.

Variables

 o start_address
 protected int start_address
Represents the start address (in # of instructions) of this basic block.
This value can be read by invoking getStart() method.

See Also:
getStart
 o end_address
 protected int end_address
Represents the ending address (in # of instructions) of this basic block.
This value can be read by invoking getEnd() method.

See Also:
getEnd
 o routine
 public Routine routine
Represents the routine that this basic block is defined in.

Constructors

 o BasicBlock
 public BasicBlock(Routine r,
                   int start)
Constructor for BasicBlock class.

Methods

 o split
 public void split(Routine r,
                   int inst_index)
Splitting a BasicBlock.

 o getStartAddress
 public int getStartAddress()
Returns the starting offset of this basic block.

 o getOldStartAddress
 public int getOldStartAddress()
 o setStartAddress
 public void setStartAddress(int addr)
This method is used to adjust the start address of a basic block after insertion of instructions.

 o getEndAddress
 public int getEndAddress()
Returns the ending offset of this basic block.

 o getOldEndAddress
 public int getOldEndAddress()
 o setEndAddress
 public void setEndAddress(int addr)
This method is used to adjust the end address of a basic block after insertion of instructions.

 o size
 public int size()
This method retuns the size of this basic block.

 o addBefore
 public void addBefore(String classname,
                       String methodname,
                       Object arg)
Add a call to classname.methodname before this basic block.

 o addAfter
 public void addAfter(String classname,
                      String methodname,
                      Object arg)
Add a call to classname.methodname after this basic block.

 o clone
 protected Object clone() throws CloneNotSupportedException
Overrides:
clone in class Object
 o getClassName
 public String getClassName()
 o getMethodName
 public String getMethodName()

All Packages  Class Hierarchy  This Package  Previous  Next  Index