Class IdenticalBlockCombiner

java.lang.Object
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 Details

    • IdenticalBlockCombiner

      public IdenticalBlockCombiner(RopMethod rm)
      Constructs instance. Call process() to run.
      Parameters:
      rm - non-null; instance to process
  • Method Details

    • 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