com.android.dx.ssa.back
Class IdenticalBlockCombiner

java.lang.Object
  extended by com.android.dx.ssa.back.IdenticalBlockCombiner

public class IdenticalBlockCombiner
extends Object

Searches for basic blocks that all have the same successor and insns but different predecessors. These blocks are then combined into a single block and the now-unused blocks are deleted. These identical blocks frequently are created when catch blocks are edge-split.


Constructor Summary
IdenticalBlockCombiner(RopMethod rm)
          Constructs instance.
 
Method Summary
 RopMethod process()
          Runs algorithm.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IdenticalBlockCombiner

public IdenticalBlockCombiner(RopMethod rm)
Constructs instance. Call process() to run.

Parameters:
rm - non-null; instance to process
Method Detail

process

public RopMethod process()
Runs algorithm. TODO: This is n^2, and could be made linear-ish with a hash. In particular, hash the contents of each block and only compare blocks with the same hash.

Returns:
non-null; new method that has been processed


Copyright © 2012. All Rights Reserved.