/dalvik/dx/src/com/android/dx/ssa/ |
H A D | Optimizer.java | 93 SsaMethod ssaMeth = null; 98 ssaMeth = SsaConverter.convertToSsaMethod(rmeth, paramWidth, isStatic); 99 runSsaFormSteps(ssaMeth, steps); 101 RopMethod resultMeth = SsaToRop.convertToRopMethod(ssaMeth, false); 130 SsaMethod ssaMeth; 133 ssaMeth = SsaConverter.convertToSsaMethod( 144 runSsaFormSteps(ssaMeth, newSteps); 146 resultMeth = SsaToRop.convertToRopMethod(ssaMeth, true); 150 private static void runSsaFormSteps(SsaMethod ssaMeth, argument 155 MoveParamCombiner.process(ssaMeth); [all...] |
H A D | MoveParamCombiner.java | 34 private final SsaMethod ssaMeth; field in class:MoveParamCombiner 45 private MoveParamCombiner(SsaMethod ssaMeth) { argument 46 this.ssaMeth = ssaMeth; 55 = new RegisterSpec[ssaMeth.getParamWidth()]; 60 ssaMeth.forEachInsn(new SsaInsn.Visitor() { 99 ssaMeth.getDefinitionForRegister(specA.getReg()) 109 return ssaMeth.getRegCount(); 123 = ssaMeth.getUseListForRegister(specB.getReg()); 137 ssaMeth [all...] |
H A D | PhiTypeResolver.java | 45 SsaMethod ssaMeth; field in class:PhiTypeResolver 51 * @param ssaMeth method to process 53 public static void process (SsaMethod ssaMeth) { argument 54 new PhiTypeResolver(ssaMeth).run(); 57 private PhiTypeResolver(SsaMethod ssaMeth) { argument 58 this.ssaMeth = ssaMeth; 59 worklist = new BitSet(ssaMeth.getRegCount()); 67 int regCount = ssaMeth.getRegCount(); 70 SsaInsn definsn = ssaMeth [all...] |
H A D | DeadCodeRemover.java | 33 private final SsaMethod ssaMeth; field in class:DeadCodeRemover 35 /** ssaMeth.getRegCount() */ 63 this.ssaMeth = ssaMethod; 67 useList = ssaMeth.getUseListCopy(); 78 ssaMeth.forEachInsn(new NoSideEffectVisitor(worklist)); 88 SsaInsn insnS = ssaMeth.getDefinitionForRegister(regV); 104 ssaMeth.getDefinitionForRegister( 119 ssaMeth.deleteInsns(deletedInsns); 128 ssaMeth.computeReachability(); 130 for (SsaBasicBlock block : ssaMeth [all...] |
H A D | ConstCollector.java | 66 private final SsaMethod ssaMeth; field in class:ConstCollector 84 this.ssaMeth = ssaMethod; 91 int regSz = ssaMeth.getRegCount(); 98 SsaBasicBlock start = ssaMeth.getEntryBlock(); 107 = RegisterSpec.make(ssaMeth.makeNewSsaReg(), cst); 118 SsaBasicBlock entryBlock = ssaMeth.getEntryBlock(); 158 int regSz = ssaMeth.getRegCount(); 172 SsaInsn insn = ssaMeth.getDefinitionForRegister(i); 187 predInsns = ssaMeth.getBlocks().get(pred).getInsns(); 212 if (ssaMeth [all...] |
H A D | SsaConverter.java | 67 * @param ssaMeth input 70 public static void updateSsaMethod(SsaMethod ssaMeth, int threshold) { argument 71 LocalVariableInfo localInfo = LocalVariableExtractor.extract(ssaMeth); 72 placePhiFunctions(ssaMeth, localInfo, threshold); 73 new SsaRenamer(ssaMeth, threshold).run(); 184 * @param ssaMeth method to process 186 private static void edgeSplitMoveExceptionsAndResults(SsaMethod ssaMeth) { argument 187 ArrayList<SsaBasicBlock> blocks = ssaMeth.getBlocks(); 280 * @param ssaMeth {@code non-null;} method to process. 286 private static void placePhiFunctions (SsaMethod ssaMeth, argument [all...] |
H A D | SsaRenamer.java | 66 private final SsaMethod ssaMeth; field in class:SsaRenamer 97 * @param ssaMeth {@code non-null;} un-renamed SSA method that will 100 public SsaRenamer(SsaMethod ssaMeth) { argument 101 ropRegCount = ssaMeth.getRegCount(); 103 this.ssaMeth = ssaMeth; 111 startsForBlocks = new RegisterSpec[ssaMeth.getBlocks().size()][]; 142 startsForBlocks[ssaMeth.getEntryBlockIndex()] = initialRegMapping; 148 * @param ssaMeth {@code non-null;} un-renamed SSA method that will 152 public SsaRenamer(SsaMethod ssaMeth, in argument [all...] |
H A D | LiteralOpUpgrader.java | 43 private final SsaMethod ssaMeth; field in class:LiteralOpUpgrader 59 this.ssaMeth = ssaMethod; 84 ssaMeth.forEachInsn(new SsaInsn.Visitor() { 150 if (result != null && !ssaMeth.isRegALocal(result) && 162 ssaMeth.getBlocks().get(pred).getInsns(); 202 ssaMeth.onInsnRemoved(insn); 204 ssaMeth.onInsnAdded(newInsn);
|
H A D | SCCP.java | 45 private SsaMethod ssaMeth; field in class:SCCP 46 /** ssaMeth.getRegCount() */ 69 private SCCP(SsaMethod ssaMeth) { argument 70 this.ssaMeth = ssaMeth; 71 this.regCount = ssaMeth.getRegCount(); 76 this.executableBlocks = new BitSet(ssaMeth.getBlocks().size()); 115 for (SsaInsn insn : ssaMeth.getUseListForRegister(reg)) { 119 for (SsaInsn insn : ssaMeth.getUseListForRegister(reg)) { 254 if (!ssaMeth [all...] |
H A D | EscapeAnalysis.java | 100 private SsaMethod ssaMeth; field in class:EscapeAnalysis 101 /** ssaMeth.getRegCount() */ 109 * @param ssaMeth method to process 111 private EscapeAnalysis(SsaMethod ssaMeth) { argument 112 this.ssaMeth = ssaMeth; 113 this.regCount = ssaMeth.getRegCount(); 144 ArrayList<SsaInsn> predInsns = ssaMeth.getBlocks().get(pred).getInsns(); 157 ArrayList<SsaInsn> succInsns = ssaMeth.getBlocks().get(succ).getInsns(); 331 List<SsaInsn> useList = ssaMeth [all...] |
H A D | PhiInsn.java | 92 * @param ssaMeth method that contains this insn 94 public void updateSourcesToDefinitions(SsaMethod ssaMeth) { argument 97 = ssaMeth.getDefinitionForRegister( 297 * @param ssaMeth method we're operating on 300 public List<SsaBasicBlock> predBlocksForReg(int reg, SsaMethod ssaMeth) { argument 305 ret.add(ssaMeth.getBlocks().get(o.blockIndex));
|
/dalvik/dx/src/com/android/dx/ssa/back/ |
H A D | NullRegisterAllocator.java | 30 public NullRegisterAllocator(SsaMethod ssaMeth, argument 32 super(ssaMeth, interference); 45 int oldRegCount = ssaMeth.getRegCount();
|
H A D | LivenessAnalyzer.java | 56 private final SsaMethod ssaMeth; field in class:LivenessAnalyzer 83 * @param ssaMeth {@code non-null;} method to process 88 SsaMethod ssaMeth) { 89 int szRegs = ssaMeth.getRegCount(); 93 new LivenessAnalyzer(ssaMeth, i, interference).run(); 96 coInterferePhis(ssaMeth, interference); 104 * @param ssaMeth {@code non-null;} method to process 110 private LivenessAnalyzer(SsaMethod ssaMeth, int reg, argument 112 int blocksSz = ssaMeth.getBlocks().size(); 114 this.ssaMeth 87 constructInterferenceGraph( SsaMethod ssaMeth) argument 257 coInterferePhis(SsaMethod ssaMeth, InterferenceGraph interference) argument [all...] |
H A D | SsaToRop.java | 48 private final SsaMethod ssaMeth; field in class:SsaToRop 62 * @param ssaMeth {@code non-null;} method to process 67 public static RopMethod convertToRopMethod(SsaMethod ssaMeth, argument 69 return new SsaToRop(ssaMeth, minimizeRegisters).convert(); 75 * @param ssaMeth {@code non-null;} method to process 81 this.ssaMeth = ssaMethod; 97 // allocator = new NullRegisterAllocator(ssaMeth, interference); 98 // allocator = new FirstFitAllocator(ssaMeth, interference); 101 new FirstFitLocalCombiningAllocator(ssaMeth, interference, 111 ssaMeth [all...] |
H A D | RegisterAllocator.java | 39 protected final SsaMethod ssaMeth; field in class:RegisterAllocator 46 * @param ssaMeth method to process. 50 public RegisterAllocator(SsaMethod ssaMeth, argument 52 this.ssaMeth = ssaMeth; 80 SsaInsn definition = ssaMeth.getDefinitionForRegister(reg); 98 SsaInsn definition = ssaMeth.getDefinitionForRegister(reg); 111 SsaInsn defInsn = ssaMeth.getDefinitionForRegister(reg); 159 RegisterSpec newRegSpec = RegisterSpec.make(ssaMeth.makeNewSsaReg(), 191 ssaMeth [all...] |
H A D | FirstFitAllocator.java | 46 final SsaMethod ssaMeth, final InterferenceGraph interference) { 47 super(ssaMeth, interference); 49 mapped = new BitSet(ssaMeth.getRegCount()); 61 int oldRegCount = ssaMeth.getRegCount(); 75 nextNewRegister = ssaMeth.getParamWidth(); 95 ssaMeth.getDefinitionForRegister(i); 45 FirstFitAllocator( final SsaMethod ssaMeth, final InterferenceGraph interference) argument
|
H A D | FirstFitLocalCombiningAllocator.java | 83 * @param ssaMeth {@code non-null;} method to process 89 SsaMethod ssaMeth, InterferenceGraph interference, 91 super(ssaMeth, interference); 93 ssaRegsMapped = new BitSet(ssaMeth.getRegCount()); 96 interference, ssaMeth.getRegCount()); 106 paramRangeEnd = ssaMeth.getParamWidth(); 221 SsaInsn defInsn = ssaMeth.getDefinitionForRegister(ssaReg); 365 return startReg == 0 && !ssaMeth.isStatic(); 429 int szSsaRegs = ssaMeth.getRegCount(); 472 ssaMeth 88 FirstFitLocalCombiningAllocator( SsaMethod ssaMeth, InterferenceGraph interference, boolean minimizeRegisters) argument [all...] |
/dalvik/dx/src/com/android/dx/command/dump/ |
H A D | SsaDumper.java | 94 SsaMethod ssaMeth = null; 99 ssaMeth = Optimizer.debugNoRegisterAllocation(rmeth, 103 ssaMeth = Optimizer.debugEdgeSplit(rmeth, paramWidth, 106 ssaMeth = Optimizer.debugPhiPlacement( 109 ssaMeth = Optimizer.debugRenaming( 112 ssaMeth = Optimizer.debugDeadCodeRemover( 120 ssaMeth.blockIndexToRopLabel(ssaMeth.getEntryBlockIndex()))); 123 ArrayList<SsaBasicBlock> blocks = ssaMeth.getBlocks(); 137 sb.append(Hex.u2(ssaMeth [all...] |