coins.mdf
クラス MacroTask

java.lang.Object
  |
  +--coins.mdf.MacroTask

public class MacroTask
extends java.lang.Object

This class represents a macro task. Each macro tasks include some basic blocks as a list. And also, each macro tasks have their entry and exit basic blocks.


フィールドの概要
 Label label
          The label of the current macro task
 java.util.LinkedList predList
          The list of macro tasks which are the predecessor of the current macro task
 java.util.LinkedList succList
          The list of macro tasks which are the successor of the current macro task
static int THR
          The threshold for debugging output
 
コンストラクタの概要
MacroTask(MdfEnvironment e, int num, BBlock blk, Label lab)
          Constructor:
MacroTask(MdfEnvironment e, int num, Label lab)
          Constructor:
 
メソッドの概要
(パッケージプライベート)  BBlock addBasicBlk(BBlock blk)
          Add the specified basic block into the current macro task.
 BBlock[] blks()
          Get the basic blocks which the current macro task includes.
(パッケージプライベート)  MacroTask concat(MacroTask mt)
          Concatenate macro tasks.
 BBlock entryBlk()
          Get the entry basic block of the current macro task.
 java.util.LinkedList exitBlks()
          Get the list of basic blocks in the current macro task, the basic blocks means the exit block from the current macro task.
(パッケージプライベート)  boolean hasCall()
          check whether the current macro task has some function calls.
(パッケージプライベート)  boolean hasReturn()
          Check whether the current macro task has some return statements.
(パッケージプライベート)  void printGraph(java.io.OutputStreamWriter output)
          Print the node as graphviz format.
 int taskNumber()
          Get the unique number of the current macro task.
 java.lang.String toString()
          Get the string image of the current macro task.
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

THR

public static final int THR
The threshold for debugging output

関連項目:
定数フィールド値

predList

public final java.util.LinkedList predList
The list of macro tasks which are the predecessor of the current macro task


succList

public final java.util.LinkedList succList
The list of macro tasks which are the successor of the current macro task


label

public final Label label
The label of the current macro task

コンストラクタの詳細

MacroTask

public MacroTask(MdfEnvironment e,
                 int num,
                 BBlock blk,
                 Label lab)
Constructor:

パラメータ:
e - The environment of the MDF module
num - The unique number of the current macro task
blk - The entry basic block of the current macro task
lab - The label of the current macro task

MacroTask

public MacroTask(MdfEnvironment e,
                 int num,
                 Label lab)
Constructor:

パラメータ:
e - The environment of the MDF module
num - The unique number of the current macro task
lab - The label of the current macro task
メソッドの詳細

taskNumber

public int taskNumber()
Get the unique number of the current macro task.

戻り値:
The unique number of the current macro task

entryBlk

public BBlock entryBlk()
                throws PassException
Get the entry basic block of the current macro task.

戻り値:
The entry basic block of the current macro task.
例外:
PassException - Any exceptions in it

exitBlks

public java.util.LinkedList exitBlks()
Get the list of basic blocks in the current macro task, the basic blocks means the exit block from the current macro task.

戻り値:
The list of the basic block which means the exit blocks

hasReturn

boolean hasReturn()
Check whether the current macro task has some return statements. If so, return true.

戻り値:
True if the current macro task has some return statements. Otherwise return false

hasCall

boolean hasCall()
check whether the current macro task has some function calls. If so, return true.

戻り値:
True if the current macro task has some function calls. Otherwise return false

blks

public BBlock[] blks()
              throws PassException
Get the basic blocks which the current macro task includes. The basic blocks are sorted by reverse post order.

戻り値:
The basic blocks which the current macro task includes
例外:
PassException - Any exceptions in it

addBasicBlk

BBlock addBasicBlk(BBlock blk)
Add the specified basic block into the current macro task.

パラメータ:
blk - The basic block which should be added
戻り値:
The basic block which has been added into the current macro task

concat

MacroTask concat(MacroTask mt)
           throws PassException
Concatenate macro tasks.

パラメータ:
mt - The macro task which should be concatenated with the current macro task
戻り値:
The macro task which has been concatenated.
例外:
PassException - Any exceptions in it

toString

public java.lang.String toString()
Get the string image of the current macro task.

オーバーライド:
クラス java.lang.Object 内の toString
戻り値:
The string image of the current macro task

printGraph

void printGraph(java.io.OutputStreamWriter output)
Print the node as graphviz format.

パラメータ:
output - The output stream