/dalvik/dx/src/com/android/dx/ssa/ |
H A D | Optimizer.java | 94 SsaMethod ssaMeth = null; 99 ssaMeth = SsaConverter.convertToSsaMethod(rmeth, paramWidth, isStatic); 100 runSsaFormSteps(ssaMeth, steps); 102 RopMethod resultMeth = SsaToRop.convertToRopMethod(ssaMeth, false); 131 SsaMethod ssaMeth; 134 ssaMeth = SsaConverter.convertToSsaMethod( 145 runSsaFormSteps(ssaMeth, newSteps); 147 resultMeth = SsaToRop.convertToRopMethod(ssaMeth, true); 151 private static void runSsaFormSteps(SsaMethod ssaMeth, argument 156 MoveParamCombiner.process(ssaMeth); [all...] |
H A D | MoveParamCombiner.java | 36 private final SsaMethod ssaMeth; field in class:MoveParamCombiner 47 private MoveParamCombiner(SsaMethod ssaMeth) { argument 48 this.ssaMeth = ssaMeth; 57 = new RegisterSpec[ssaMeth.getParamWidth()]; 62 ssaMeth.forEachInsn(new SsaInsn.Visitor() { 101 ssaMeth.getDefinitionForRegister(specA.getReg()) 111 return ssaMeth.getRegCount(); 125 = ssaMeth.getUseListForRegister(specB.getReg()); 139 ssaMeth [all...] |
H A D | PhiTypeResolver.java | 46 SsaMethod ssaMeth; field in class:PhiTypeResolver 52 * @param ssaMeth method to process 54 public static void process (SsaMethod ssaMeth) { argument 55 new PhiTypeResolver(ssaMeth).run(); 58 private PhiTypeResolver(SsaMethod ssaMeth) { argument 59 this.ssaMeth = ssaMeth; 60 worklist = new BitSet(ssaMeth.getRegCount()); 68 int regCount = ssaMeth.getRegCount(); 71 SsaInsn definsn = ssaMeth [all...] |
H A D | ConstCollector.java | 60 private final SsaMethod ssaMeth; field in class:ConstCollector 78 this.ssaMeth = ssaMethod; 85 int regSz = ssaMeth.getRegCount(); 92 SsaBasicBlock start = ssaMeth.getEntryBlock(); 101 = RegisterSpec.make(ssaMeth.makeNewSsaReg(), cst); 112 SsaBasicBlock entryBlock = ssaMeth.getEntryBlock(); 152 int regSz = ssaMeth.getRegCount(); 166 SsaInsn insn = ssaMeth.getDefinitionForRegister(i); 198 if (ssaMeth.isRegALocal(result)) { 265 for (SsaInsn use : ssaMeth [all...] |
H A D | DeadCodeRemover.java | 40 private final SsaMethod ssaMeth; field in class:DeadCodeRemover 42 /** ssaMeth.getRegCount() */ 70 this.ssaMeth = ssaMethod; 74 useList = ssaMeth.getUseListCopy(); 83 ssaMeth.forEachInsn(new NoSideEffectVisitor(worklist)); 93 SsaInsn insnS = ssaMeth.getDefinitionForRegister(regV); 109 ssaMeth.getDefinitionForRegister( 124 ssaMeth.deleteInsns(deletedInsns); 194 * ssaMeth.forEachInsn() is called with this instance.
|
H A D | SsaConverter.java | 68 * @param ssaMeth input 71 public static void updateSsaMethod(SsaMethod ssaMeth, int threshold) { argument 72 LocalVariableInfo localInfo = LocalVariableExtractor.extract(ssaMeth); 73 placePhiFunctions(ssaMeth, localInfo, threshold); 74 new SsaRenamer(ssaMeth, threshold).run(); 185 * @param ssaMeth method to process 187 private static void edgeSplitMoveExceptionsAndResults(SsaMethod ssaMeth) { argument 188 ArrayList<SsaBasicBlock> blocks = ssaMeth.getBlocks(); 281 * @param ssaMeth {@code non-null;} method to process. 287 private static void placePhiFunctions (SsaMethod ssaMeth, argument [all...] |
H A D | SsaRenamer.java | 67 private final SsaMethod ssaMeth; field in class:SsaRenamer 98 * @param ssaMeth {@code non-null;} un-renamed SSA method that will 101 public SsaRenamer(SsaMethod ssaMeth) { argument 102 ropRegCount = ssaMeth.getRegCount(); 104 this.ssaMeth = ssaMeth; 112 startsForBlocks = new RegisterSpec[ssaMeth.getBlocks().size()][]; 143 startsForBlocks[ssaMeth.getEntryBlockIndex()] = initialRegMapping; 149 * @param ssaMeth {@code non-null;} un-renamed SSA method that will 153 public SsaRenamer(SsaMethod ssaMeth, in argument [all...] |
H A D | LiteralOpUpgrader.java | 40 private final SsaMethod ssaMeth; field in class:LiteralOpUpgrader 56 this.ssaMeth = ssaMethod; 81 ssaMeth.forEachInsn(new SsaInsn.Visitor() { 156 ssaMeth.onInsnRemoved(insn); 158 ssaMeth.onInsnAdded(newInsn);
|
H A D | SCCP.java | 44 private SsaMethod ssaMeth; field in class:SCCP 45 /** ssaMeth.getRegCount() */ 64 private SCCP(SsaMethod ssaMeth) { argument 65 this.ssaMeth = ssaMeth; 66 this.regCount = ssaMeth.getRegCount(); 70 this.executableBlocks = new BitSet(ssaMeth.getBlocks().size()); 105 for (SsaInsn insn : ssaMeth.getUseListForRegister(reg)) { 109 for (SsaInsn insn : ssaMeth.getUseListForRegister(reg)) { 331 addBlockToWorklist(ssaMeth [all...] |
H A D | EscapeAnalysis.java | 101 private SsaMethod ssaMeth; field in class:EscapeAnalysis 102 /** ssaMeth.getRegCount() */ 110 * @param ssaMeth method to process 112 private EscapeAnalysis(SsaMethod ssaMeth) { argument 113 this.ssaMeth = ssaMeth; 114 this.regCount = ssaMeth.getRegCount(); 145 ArrayList<SsaInsn> predInsns = ssaMeth.getBlocks().get(pred).getInsns(); 158 ArrayList<SsaInsn> succInsns = ssaMeth.getBlocks().get(succ).getInsns(); 332 List<SsaInsn> useList = ssaMeth [all...] |
H A D | PhiInsn.java | 87 * @param ssaMeth method that contains this insn 89 public void updateSourcesToDefinitions(SsaMethod ssaMeth) { argument 92 = ssaMeth.getDefinitionForRegister( 272 * @param ssaMeth method we're operating on 275 public List<SsaBasicBlock> predBlocksForReg(int reg, SsaMethod ssaMeth) { argument 280 ret.add(ssaMeth.getBlocks().get(o.blockIndex));
|
/dalvik/dx/src/com/android/dx/ssa/back/ |
H A D | NullRegisterAllocator.java | 33 public NullRegisterAllocator(SsaMethod ssaMeth, argument 35 super(ssaMeth, interference); 48 int oldRegCount = ssaMeth.getRegCount();
|
H A D | LivenessAnalyzer.java | 57 private final SsaMethod ssaMeth; field in class:LivenessAnalyzer 84 * @param ssaMeth {@code non-null;} method to process 89 SsaMethod ssaMeth) { 90 int szRegs = ssaMeth.getRegCount(); 94 new LivenessAnalyzer(ssaMeth, i, interference).run(); 97 coInterferePhis(ssaMeth, interference); 105 * @param ssaMeth {@code non-null;} method to process 111 private LivenessAnalyzer(SsaMethod ssaMeth, int reg, argument 113 int blocksSz = ssaMeth.getBlocks().size(); 115 this.ssaMeth 88 constructInterferenceGraph( SsaMethod ssaMeth) argument 258 coInterferePhis(SsaMethod ssaMeth, InterferenceGraph interference) argument [all...] |
H A D | SsaToRop.java | 55 private final SsaMethod ssaMeth; field in class:SsaToRop 69 * @param ssaMeth {@code non-null;} method to process 74 public static RopMethod convertToRopMethod(SsaMethod ssaMeth, argument 76 return new SsaToRop(ssaMeth, minimizeRegisters).convert(); 82 * @param ssaMeth {@code non-null;} method to process 88 this.ssaMeth = ssaMethod; 104 // allocator = new NullRegisterAllocator(ssaMeth, interference); 105 // allocator = new FirstFitAllocator(ssaMeth, interference); 108 new FirstFitLocalCombiningAllocator(ssaMeth, interference, 118 ssaMeth [all...] |
H A D | RegisterAllocator.java | 41 protected final SsaMethod ssaMeth; field in class:RegisterAllocator 48 * @param ssaMeth method to process. 52 public RegisterAllocator(SsaMethod ssaMeth, argument 54 this.ssaMeth = ssaMeth; 82 SsaInsn definition = ssaMeth.getDefinitionForRegister(reg); 100 SsaInsn definition = ssaMeth.getDefinitionForRegister(reg); 113 SsaInsn defInsn = ssaMeth.getDefinitionForRegister(reg); 161 RegisterSpec newRegSpec = RegisterSpec.make(ssaMeth.makeNewSsaReg(), 193 ssaMeth [all...] |
H A D | FirstFitAllocator.java | 48 final SsaMethod ssaMeth, final InterferenceGraph interference) { 49 super(ssaMeth, interference); 51 mapped = new BitSet(ssaMeth.getRegCount()); 63 int oldRegCount = ssaMeth.getRegCount(); 77 nextNewRegister = ssaMeth.getParamWidth(); 97 ssaMeth.getDefinitionForRegister(i); 47 FirstFitAllocator( final SsaMethod ssaMeth, final InterferenceGraph interference) argument
|
H A D | FirstFitLocalCombiningAllocator.java | 76 * @param ssaMeth {@code non-null;} method to process 82 SsaMethod ssaMeth, InterferenceGraph interference, 84 super(ssaMeth, interference); 86 ssaRegsMapped = new BitSet(ssaMeth.getRegCount()); 89 interference, ssaMeth.getRegCount()); 99 paramRangeEnd = ssaMeth.getParamWidth(); 210 SsaInsn defInsn = ssaMeth.getDefinitionForRegister(ssaReg); 353 return startReg == 0 && !ssaMeth.isStatic(); 425 int szSsaRegs = ssaMeth.getRegCount(); 467 ssaMeth 81 FirstFitLocalCombiningAllocator( SsaMethod ssaMeth, InterferenceGraph interference, boolean minimizeRegisters) argument [all...] |
/dalvik/dx/src/com/android/dx/command/dump/ |
H A D | SsaDumper.java | 97 SsaMethod ssaMeth = null; 102 ssaMeth = Optimizer.debugNoRegisterAllocation(rmeth, 106 ssaMeth = Optimizer.debugEdgeSplit(rmeth, paramWidth, 109 ssaMeth = Optimizer.debugPhiPlacement( 112 ssaMeth = Optimizer.debugRenaming( 115 ssaMeth = Optimizer.debugDeadCodeRemover( 123 ssaMeth.blockIndexToRopLabel(ssaMeth.getEntryBlockIndex()))); 126 ArrayList<SsaBasicBlock> blocks = ssaMeth.getBlocks(); 140 sb.append(Hex.u2(ssaMeth [all...] |