coins.mdf
Class FinishCondition

java.lang.Object
  extended bycoins.mdf.Conditions
      extended bycoins.mdf.FinishCondition

public class FinishCondition
extends Conditions

The status when a macro task finish execution. This condition is used by the dynamic scheduler.


Field Summary
protected  int elemSize
          The size of the elements of this condition
protected  MdfEnvironment env
           
protected  boolean[] isReady
          The condition whether the bit is ready
protected  MacroFlowGraph mfg
          The current macro flow graph
protected  int[][] vector
          The conditions which set into the executable conditions when the macro task finishes executing
protected  int vectSize
          Ths size of the bit vector
 
Constructor Summary
FinishCondition(MdfEnvironment e, MacroFlowGraph g)
          Constructor:
 
Method Summary
protected  int[] bitVector(int id)
          Get the bit vector which means the condition when the specified macro task is finished executing.
(package private)  Stmt finishCond(MacroTask src, MacroTask dst)
          Get the HIR statement which means the conditions when the macro task `src' is finished.
protected  void showVector(java.lang.String name)
          Debug print of the bit vector.
 java.lang.String toString()
          Get the string image of the bit vector.
 java.lang.String toString(MacroTask mt)
          Get the string image of the bit vector which is belong to the specified macro task.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

env

protected final MdfEnvironment env

mfg

protected final MacroFlowGraph mfg
The current macro flow graph


vector

protected final int[][] vector
The conditions which set into the executable conditions when the macro task finishes executing


elemSize

protected final int elemSize
The size of the elements of this condition


vectSize

protected final int vectSize
Ths size of the bit vector


isReady

protected final boolean[] isReady
The condition whether the bit is ready

Constructor Detail

FinishCondition

public FinishCondition(MdfEnvironment e,
                       MacroFlowGraph g)
Constructor:

Parameters:
e - The environment of the MDF module
g - The current macro flow graph
Method Detail

finishCond

Stmt finishCond(MacroTask src,
                MacroTask dst)
Get the HIR statement which means the conditions when the macro task `src' is finished. If the macro task `dst' is not equal to `null', that means `src' includes a conditional branch and `dst' is decided as the next macro task.

Parameters:
src - The macro task which is finished
dst - The macro task which is decided as the next macro task
Returns:
The HIR statement which means a report the current condition to the scheduler

bitVector

protected int[] bitVector(int id)
Get the bit vector which means the condition when the specified macro task is finished executing.

Parameters:
id - The unique number of each macro tasks
Returns:
The bit vector which means the condition for the dynamic scheduler

showVector

protected void showVector(java.lang.String name)
Debug print of the bit vector.

Parameters:
name - The name of the bit vector

toString

public java.lang.String toString()
Get the string image of the bit vector.

Returns:
The string image of the bit vector

toString

public java.lang.String toString(MacroTask mt)
Get the string image of the bit vector which is belong to the specified macro task.

Parameters:
mt - The target macro task
Returns:
The string image of the bit vector