soot.toolkits.scalar
Class FastColorer

java.lang.Object
  extended by soot.toolkits.scalar.FastColorer

public class FastColorer
extends Object

Provides methods for register coloring. Jimple uses these methods to assign the local slots appropriately.


Nested Class Summary
static class FastColorer.UnitInterferenceGraph
          Implementation of a unit interference graph.
 
Constructor Summary
FastColorer()
           
 
Method Summary
static void assignColorsToLocals(Body unitBody, Map<Local,Object> localToGroup, Map<Local,Integer> localToColor, Map<Object,Integer> groupToColorCount)
          Provides an economical coloring for the locals of unitBody.
static void unsplitAssignColorsToLocals(Body unitBody, Map<Local,Object> localToGroup, Map<Local,Integer> localToColor, Map<Object,Integer> groupToColorCount)
          Provides a coloring for the locals of unitBody, attempting to not split locals assigned the same name in the original Jimple.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FastColorer

public FastColorer()
Method Detail

unsplitAssignColorsToLocals

public static void unsplitAssignColorsToLocals(Body unitBody,
                                               Map<Local,Object> localToGroup,
                                               Map<Local,Integer> localToColor,
                                               Map<Object,Integer> groupToColorCount)
Provides a coloring for the locals of unitBody, attempting to not split locals assigned the same name in the original Jimple.


assignColorsToLocals

public static void assignColorsToLocals(Body unitBody,
                                        Map<Local,Object> localToGroup,
                                        Map<Local,Integer> localToColor,
                                        Map<Object,Integer> groupToColorCount)
Provides an economical coloring for the locals of unitBody.