/dalvik/vm/compiler/ |
D | CompilerIR.h | 152 typedef struct BasicBlock { struct 163 struct BasicBlock *fallThrough; argument 164 struct BasicBlock *taken; argument 165 struct BasicBlock *iDom; // Immediate dominator argument 175 } BasicBlock; argument 184 BasicBlock *block; 259 BasicBlock *entryBlock; 260 BasicBlock *exitBlock; 261 BasicBlock *puntBlock; // punting to interp for exceptions 262 BasicBlock *backChainBlock; // for loop-trace [all …]
|
D | SSATransformation.cpp | 23 static void recordDFSPreOrder(CompilationUnit *cUnit, BasicBlock *block) in recordDFSPreOrder() 42 BasicBlock *succBB = successorBlockInfo->block; in recordDFSPreOrder() 72 static bool fillDefBlockMatrix(CompilationUnit *cUnit, BasicBlock *bb) in fillDefBlockMatrix() 122 static void computeDomPostOrderTraversal(CompilationUnit *cUnit, BasicBlock *bb) in computeDomPostOrderTraversal() 132 BasicBlock *dominatedBB = in computeDomPostOrderTraversal() 133 (BasicBlock *) dvmGrowableListGetElement(blockList, bbIdx); in computeDomPostOrderTraversal() 146 static void checkForDominanceFrontier(BasicBlock *domBB, in checkForDominanceFrontier() 147 const BasicBlock *succBB) in checkForDominanceFrontier() 161 static bool computeDominanceFrontier(CompilationUnit *cUnit, BasicBlock *bb) in computeDominanceFrontier() 180 BasicBlock *succBB = successorBlockInfo->block; in computeDominanceFrontier() [all …]
|
D | IntermediateRep.cpp | 21 BasicBlock *dvmCompilerNewBB(BBType blockType, int blockId) in dvmCompilerNewBB() 23 BasicBlock *bb = (BasicBlock *)dvmCompilerNew(sizeof(BasicBlock), true); in dvmCompilerNewBB() 32 void dvmCompilerAppendMIR(BasicBlock *bb, MIR *mir) in dvmCompilerAppendMIR() 47 void dvmCompilerPrependMIR(BasicBlock *bb, MIR *mir) in dvmCompilerPrependMIR() 62 void dvmCompilerInsertMIRAfter(BasicBlock *bb, MIR *currentMIR, MIR *newMIR) in dvmCompilerInsertMIRAfter()
|
D | Compiler.h | 180 struct BasicBlock; 215 struct BasicBlock *bb); 217 struct BasicBlock *bb); 219 struct BasicBlock *bb); 221 struct BasicBlock *bb); 224 struct BasicBlock *bb); 232 bool (*func)(struct CompilationUnit *, struct BasicBlock *),
|
D | Frontend.cpp | 512 static BasicBlock *splitBlock(CompilationUnit *cUnit, in splitBlock() 514 BasicBlock *origBlock, in splitBlock() 515 BasicBlock **immedPredBlockP) in splitBlock() 526 BasicBlock *bottomBlock = dvmCompilerNewBB(kDalvikByteCode, in splitBlock() 567 BasicBlock *bb = successorBlockInfo->block; in splitBlock() 596 static BasicBlock *findBlock(CompilationUnit *cUnit, in findBlock() 599 BasicBlock **immedPredBlockP) in findBlock() 602 BasicBlock *bb; in findBlock() 606 bb = (BasicBlock *) blockList->elemList[i]; in findBlock() 613 BasicBlock *newBB = splitBlock(cUnit, codeOffset, bb, in findBlock() [all …]
|
D | Ralloc.cpp | 27 static void inferTypes(CompilationUnit *cUnit, BasicBlock *bb) in inferTypes() 75 BasicBlock *bb = (BasicBlock *) dvmGrowableListIteratorNext(&iterator); in dvmCompilerLocalRegAlloc()
|
D | Loop.cpp | 95 static BasicBlock *findPredecessorBlock(const CompilationUnit *cUnit, in findPredecessorBlock() 96 const BasicBlock *bb) in findPredecessorBlock() 104 return (BasicBlock *) dvmGrowableListGetElement(&cUnit->blockList, in findPredecessorBlock() 112 return (BasicBlock *) dvmGrowableListGetElement(&cUnit->blockList, in findPredecessorBlock() 173 BasicBlock *loopBackBlock = cUnit->entryBlock->fallThrough; in isSimpleCountedLoop() 345 BasicBlock *loopBody = cUnit->entryBlock->fallThrough; in doLoopBodyCodeMotion() 432 BasicBlock *entry = cUnit->entryBlock; in genHoistedChecks() 514 void resetBlockEdges(BasicBlock *bb) in resetBlockEdges() 522 struct BasicBlock *bb) in clearPredecessorVector() 530 BasicBlock *firstBB = cUnit->entryBlock->fallThrough; in dvmCompilerFilterLoopBlocks() [all …]
|
D | InlineTransformation.cpp | 40 BasicBlock *invokeBB, in inlineGetter() 44 BasicBlock *moveResultBB = invokeBB->fallThrough; in inlineGetter() 140 BasicBlock *invokeBB, in inlineSetter() 228 BasicBlock *invokeBB, in tryInlineSingletonCallsite() 262 BasicBlock *invokeBB) in inlineEmptyVirtualCallee() 276 BasicBlock *invokeBB, in tryInlineVirtualCallsite() 312 BasicBlock *bb = (BasicBlock *) dvmGrowableListIteratorNext(&iterator); in dvmCompilerInlineMIR()
|
D | CompilerUtility.h | 57 struct BasicBlock; 75 void dvmGetBlockName(struct BasicBlock *bb, char *name);
|
D | Utility.cpp | 159 BasicBlock *bb; in dvmCompilerDumpCompilationUnit() 184 bb = (BasicBlock *) dvmGrowableListIteratorNext(&iterator); in dvmCompilerDumpCompilationUnit() 378 BasicBlock *bb = in dvmDumpBlockBitVector() 379 (BasicBlock *) dvmGrowableListGetElement(blocks, i); in dvmDumpBlockBitVector() 387 void dvmGetBlockName(BasicBlock *bb, char *name) in dvmGetBlockName()
|
D | Dataflow.cpp | 1108 bool dvmCompilerFindLocalLiveIn(CompilationUnit *cUnit, BasicBlock *bb) in dvmCompilerFindLocalLiveIn() 1215 bool dvmCompilerDoSSAConversion(CompilationUnit *cUnit, BasicBlock *bb) in dvmCompilerDoSSAConversion() 1346 bool dvmCompilerDoConstantPropagation(CompilationUnit *cUnit, BasicBlock *bb) in dvmCompilerDoConstantPropagation() 1420 struct BasicBlock *bb) in dvmCompilerFindInductionVariables() 1627 BasicBlock *bb = (BasicBlock *) dvmGrowableListIteratorNext(&iterator); in dvmInitializeSSAConversion() 1642 struct BasicBlock *bb) in dvmCompilerClearVisitedFlag() 1649 bool (*func)(CompilationUnit *, BasicBlock *), in dvmCompilerDataFlowAnalysisDispatcher() argument 1663 BasicBlock *bb = in dvmCompilerDataFlowAnalysisDispatcher() 1664 (BasicBlock *) dvmGrowableListIteratorNext(&iterator); in dvmCompilerDataFlowAnalysisDispatcher() 1681 BasicBlock *bb = in dvmCompilerDataFlowAnalysisDispatcher() [all …]
|
/dalvik/dexgen/src/com/android/dexgen/rop/code/ |
D | BasicBlockList.java | 66 public BasicBlock get(int n) { in get() 67 return (BasicBlock) get0(n); in get() 76 public void set(int n, BasicBlock bb) { in set() 112 BasicBlock one = (BasicBlock) getOrNull0(i); in getInstructionCount() 132 BasicBlock one = (BasicBlock) getOrNull0(i); in getEffectiveInstructionCount() 158 public BasicBlock labelToBlock(int label) { in labelToBlock() 178 BasicBlock one = get(i); in forEachInsn() 198 BasicBlock one = (BasicBlock) get0(i); in withRegisterOffset() 230 public BasicBlock preferredSuccessorOf(BasicBlock block) { in preferredSuccessorOf() 260 public boolean catchesEqual(BasicBlock block1, in catchesEqual() [all …]
|
D | BasicBlock.java | 27 public final class BasicBlock implements LabeledItem { class 59 public BasicBlock(int label, InsnList insns, IntList successors, in BasicBlock() method in BasicBlock 262 public BasicBlock withRegisterOffset(int delta) { in withRegisterOffset() 263 return new BasicBlock(label, insns.withRegisterOffset(delta), in withRegisterOffset() 279 public void visitBlock (BasicBlock b); in visitBlock()
|
/dalvik/dx/src/com/android/dx/rop/code/ |
D | BasicBlockList.java | 66 public BasicBlock get(int n) { in get() 67 return (BasicBlock) get0(n); in get() 76 public void set(int n, BasicBlock bb) { in set() 112 BasicBlock one = (BasicBlock) getOrNull0(i); in getInstructionCount() 132 BasicBlock one = (BasicBlock) getOrNull0(i); in getEffectiveInstructionCount() 157 public BasicBlock labelToBlock(int label) { in labelToBlock() 177 BasicBlock one = get(i); in forEachInsn() 197 BasicBlock one = (BasicBlock) get0(i); in withRegisterOffset() 229 public BasicBlock preferredSuccessorOf(BasicBlock block) { in preferredSuccessorOf() 259 public boolean catchesEqual(BasicBlock block1, BasicBlock block2) { in catchesEqual()
|
D | BasicBlock.java | 27 public final class BasicBlock implements LabeledItem { class 59 public BasicBlock(int label, InsnList insns, IntList successors, in BasicBlock() method in BasicBlock 262 public BasicBlock withRegisterOffset(int delta) { in withRegisterOffset() 263 return new BasicBlock(label, insns.withRegisterOffset(delta), in withRegisterOffset() 279 public void visitBlock (BasicBlock b); in visitBlock()
|
/dalvik/dx/src/com/android/dx/ssa/back/ |
D | IdenticalBlockCombiner.java | 19 import com.android.dx.rop.code.BasicBlock; 67 BasicBlock b = blocks.get(bindex); in process() 81 BasicBlock iBlock = blocks.labelToBlock(iLabel); in process() 95 BasicBlock jBlock = blocks.labelToBlock(jLabel); in process() 128 private static boolean compareInsns(BasicBlock a, BasicBlock b) { in compareInsns() 145 BasicBlock bb = blocks.labelToBlock(betaLabel); in combineBlocks() 150 BasicBlock predBlock = newBlocks.labelToBlock(preds.get(j)); in combineBlocks() 164 private void replaceSucc(BasicBlock block, int oldLabel, int newLabel) { in replaceSucc() 177 BasicBlock newBB = new BasicBlock(block.getLabel(), in replaceSucc()
|
/dalvik/dx/src/com/android/dx/dex/code/ |
D | BlockAddresses.java | 19 import com.android.dx.rop.code.BasicBlock; 66 public CodeAddress getStart(BasicBlock block) { in getStart() 86 public CodeAddress getLast(BasicBlock block) { in getLast() 108 public CodeAddress getEnd(BasicBlock block) { in getEnd() 131 BasicBlock one = blocks.get(i); in setupArrays()
|
D | StdCatchBuilder.java | 19 import com.android.dx.rop.code.BasicBlock; 85 BasicBlock block = blocks.get(i); in hasAnyCatches() 102 BasicBlock block = blocks.get(i); in getCatchTypes() 129 BasicBlock currentStartBlock = null; in build() 130 BasicBlock currentEndBlock = null; in build() 133 BasicBlock block = blocks.labelToBlock(order[i]); in build() 216 private static CatchHandlerList handlersFor(BasicBlock block, in handlersFor() 274 private static CatchTable.Entry makeEntry(BasicBlock start, in makeEntry() 275 BasicBlock end, CatchHandlerList handlers, in makeEntry() 300 private static boolean rangeIsValid(BasicBlock start, BasicBlock end, in rangeIsValid()
|
D | RopTranslator.java | 21 import com.android.dx.rop.code.BasicBlock; 246 private void outputBlock(BasicBlock block, int nextLabel) { in outputBlock() 319 BasicBlock one = blocks.get(i); in pickOrder() 371 BasicBlock pred = blocks.labelToBlock(predLabel); in pickOrder() 395 BasicBlock one = blocks.labelToBlock(label); in pickOrder() 396 BasicBlock preferredBlock = blocks.preferredSuccessorOf(one); in pickOrder() 500 private BasicBlock block; 524 public void setBlock(BasicBlock block, CodeAddress lastAddress) { in setBlock()
|
/dalvik/dexgen/src/com/android/dexgen/dex/code/ |
D | BlockAddresses.java | 19 import com.android.dexgen.rop.code.BasicBlock; 66 public CodeAddress getStart(BasicBlock block) { in getStart() 86 public CodeAddress getLast(BasicBlock block) { in getLast() 108 public CodeAddress getEnd(BasicBlock block) { in getEnd() 131 BasicBlock one = blocks.get(i); in setupArrays()
|
D | StdCatchBuilder.java | 19 import com.android.dexgen.rop.code.BasicBlock; 85 BasicBlock block = blocks.get(i); in hasAnyCatches() 102 BasicBlock block = blocks.get(i); in getCatchTypes() 129 BasicBlock currentStartBlock = null; in build() 130 BasicBlock currentEndBlock = null; in build() 133 BasicBlock block = blocks.labelToBlock(order[i]); in build() 216 private static CatchHandlerList handlersFor(BasicBlock block, in handlersFor() 274 private static CatchTable.Entry makeEntry(BasicBlock start, in makeEntry() 275 BasicBlock end, CatchHandlerList handlers, in makeEntry() 300 private static boolean rangeIsValid(BasicBlock start, BasicBlock end, in rangeIsValid()
|
D | RopTranslator.java | 19 import com.android.dexgen.rop.code.BasicBlock; 239 private void outputBlock(BasicBlock block, int nextLabel) { in outputBlock() 312 BasicBlock one = blocks.get(i); in pickOrder() 364 BasicBlock pred = blocks.labelToBlock(predLabel); in pickOrder() 388 BasicBlock one = blocks.labelToBlock(label); in pickOrder() 389 BasicBlock preferredBlock = blocks.preferredSuccessorOf(one); in pickOrder() 493 private BasicBlock block; 517 public void setBlock(BasicBlock block, CodeAddress lastAddress) { in setBlock()
|
/dalvik/dx/src/com/android/dx/cf/code/ |
D | Ropper.java | 94 private final ArrayList<BasicBlock> result; 206 BasicBlock subCaller = labelToBlock(label); in getSuccessors() 226 BasicBlock subCaller = labelToBlock(label); in mergeToSuccessors() 292 this.result = new ArrayList<BasicBlock>(blocks.size() * 2 + 10); in Ropper() 378 for (BasicBlock bb : result) { in getAvailableLabel() 448 BasicBlock one = result.get(i); in labelToResultIndex() 464 private BasicBlock labelToBlock(int label) { in labelToBlock() 482 private void addBlock(BasicBlock block, IntList subroutines) { in addBlock() 503 private boolean addOrReplaceBlock(BasicBlock block, IntList subroutines) { in addOrReplaceBlock() 541 private boolean addOrReplaceBlockNoDelete(BasicBlock block, in addOrReplaceBlockNoDelete() [all …]
|
/dalvik/vm/compiler/codegen/x86/ |
D | CodegenDriver.cpp | 93 BasicBlock *bb, X86LIR *labelList) 139 static bool handleFmt21t(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb, 160 static bool handleFmt22t(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb, 181 static bool handleFmt35c_3rc(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb, 188 BasicBlock *bb, X86LIR *labelList)
|
/dalvik/vm/compiler/codegen/arm/armv7-a-neon/ |
D | MethodCodegenDriver.cpp | 39 BasicBlock *bb) in genMethodInflateAndPunt() 107 BasicBlock *bb, ArmLIR *labelList) in handleMethodFmt10t_Fmt20t_Fmt30t() 137 static bool handleMethodFmt11x(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb, in handleMethodFmt11x() 175 static bool handleMethodFmt21t(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb, in handleMethodFmt21t() 196 static bool handleMethodFmt22t(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb, in handleMethodFmt22t() 218 BasicBlock *bb, ArmLIR *labelList) in handleMethodFmt35c_3rc() 224 BasicBlock *bb, ArmLIR *labelList) in handleMethodFmt35ms_3rms() 240 static bool methodBlockCodeGen(CompilationUnit *cUnit, BasicBlock *bb) in methodBlockCodeGen()
|