coins.ssa
Class MemoryAliasAnalyze

java.lang.Object
  extended bycoins.ssa.MemoryAliasAnalyze

class MemoryAliasAnalyze
extends java.lang.Object

Analyze the aliases of memory object.
The SSA module have a preliminary alias analysis. This alias analyze regard the whole memory place as a single object. Therefore, any stores to the memory make it dirty. The SSA module translate the single memory object to SSA form. The way to translate is the same as for abstract registers. But the phi functions are not inserted. On the marge point of the control flow, the compiler make a new name for the single memory object.


Field Summary
 boolean[] offset
          Number of the count about assignment to the memory object
static int THR
          The threshold of the debug print
 
Constructor Summary
(package private) MemoryAliasAnalyze(SsaEnvironment e, Function function)
          Constructor
 
Method Summary
(package private)  void annul()
          Annuling the information about the alias analysis from all the memory object.
(package private)  long blkRank(BasicBlk blk)
          Return the rank of the specified basic block.
(package private)  long callThreshold(LirNode call)
          Return the threshold of the CALL node.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

THR

public static final int THR
The threshold of the debug print

See Also:
Constant Field Values

offset

public boolean[] offset
Number of the count about assignment to the memory object

Constructor Detail

MemoryAliasAnalyze

MemoryAliasAnalyze(SsaEnvironment e,
                   Function function)
Constructor

Parameters:
e - The environment of the SSA module
function - The current function
Method Detail

blkRank

long blkRank(BasicBlk blk)
Return the rank of the specified basic block.

Parameters:
blk - The specified basic block
Returns:
The rank of the specified basic block

callThreshold

long callThreshold(LirNode call)
Return the threshold of the CALL node. The threshold is to check whether the CALL node can be put into the list of LIR nodes.

Parameters:
call - The current CALL node
Returns:
The threshold of the CALL node

annul

void annul()
Annuling the information about the alias analysis from all the memory object. This method MUST be called after optmizing useing the information about the alias analysis.