Lines Matching defs:curBlock
902 static void processCanBranch(CompilationUnit *cUnit, BasicBlock *curBlock,
940 &curBlock);
941 curBlock->taken = takenBlock;
942 dvmCompilerSetBit(takenBlock->predecessors, curBlock->id);
964 &curBlock);
965 curBlock->fallThrough = fallthroughBlock;
966 dvmCompilerSetBit(fallthroughBlock->predecessors, curBlock->id);
982 static void processCanSwitch(CompilationUnit *cUnit, BasicBlock *curBlock,
1025 if (curBlock->successorBlockList.blockListType != kNotUsed) {
1027 curBlock->successorBlockList.blockListType);
1030 curBlock->successorBlockList.blockListType =
1033 dvmInitGrowableList(&curBlock->successorBlockList.blocks, size);
1042 &curBlock);
1049 dvmInsertGrowableList(&curBlock->successorBlockList.blocks,
1051 dvmCompilerSetBit(caseBlock->predecessors, curBlock->id);
1063 curBlock->fallThrough = fallthroughBlock;
1064 dvmCompilerSetBit(fallthroughBlock->predecessors, curBlock->id);
1068 static void processCanThrow(CompilationUnit *cUnit, BasicBlock *curBlock,
1086 if (curBlock->successorBlockList.blockListType != kNotUsed) {
1088 curBlock->successorBlockList.blockListType);
1091 curBlock->successorBlockList.blockListType = kCatch;
1092 dvmInitGrowableList(&curBlock->successorBlockList.blocks, 2);
1114 dvmInsertGrowableList(&curBlock->successorBlockList.blocks,
1116 dvmCompilerSetBit(catchBlock->predecessors, curBlock->id);
1121 curBlock->taken = ehBlock;
1124 dvmCompilerSetBit(ehBlock->predecessors, curBlock->id);
1150 curBlock->fallThrough = fallthroughBlock;
1151 dvmCompilerSetBit(fallthroughBlock->predecessors, curBlock->id);
1210 BasicBlock *curBlock = dvmCompilerNewBB(kDalvikByteCode, numBlocks++);
1211 curBlock->startOffset = 0;
1212 dvmInsertGrowableList(&cUnit.blockList, (intptr_t) curBlock);
1213 entryBlock->fallThrough = curBlock;
1214 dvmCompilerSetBit(curBlock->predecessors, entryBlock->id);
1236 dvmCompilerAppendMIR(curBlock, insn);
1242 processCanBranch(&cUnit, curBlock, insn, curOffset, width, flags,
1245 curBlock->fallThrough = exitBlock;
1246 dvmCompilerSetBit(exitBlock->predecessors, curBlock->id);
1267 processCanThrow(&cUnit, curBlock, insn, curOffset, width, flags,
1270 processCanSwitch(&cUnit, curBlock, insn, curOffset, width, flags);
1287 assert(curBlock->fallThrough == NULL ||
1288 curBlock->fallThrough == nextBlock ||
1289 curBlock->fallThrough == exitBlock);
1291 if ((curBlock->fallThrough == NULL) &&
1293 curBlock->fallThrough = nextBlock;
1294 dvmCompilerSetBit(nextBlock->predecessors, curBlock->id);
1296 curBlock = nextBlock;
1358 curBlock */
1359 static bool exhaustTrace(CompilationUnit *cUnit, BasicBlock *curBlock)
1361 unsigned int curOffset = curBlock->startOffset;
1364 if (curBlock->visited == true) return false;
1366 curBlock->visited = true;
1368 if (curBlock->blockType == kEntryBlock ||
1369 curBlock->blockType == kExitBlock) {
1377 if (curBlock->firstMIRInsn != NULL) {
1379 if (curBlock->taken)
1380 changed |= exhaustTrace(cUnit, curBlock->taken);
1381 if (curBlock->fallThrough)
1382 changed |= exhaustTrace(cUnit, curBlock->fallThrough);
1395 dvmCompilerAppendMIR(curBlock, insn);
1402 curBlock->fallThrough = cUnit->exitBlock;
1403 dvmCompilerSetBit(cUnit->exitBlock->predecessors, curBlock->id);
1406 processCanBranch(cUnit, curBlock, insn, curOffset, width, flags,
1408 if (curBlock->taken) {
1409 exhaustTrace(cUnit, curBlock->taken);
1411 if (curBlock->fallThrough) {
1412 exhaustTrace(cUnit, curBlock->fallThrough);
1431 assert(curBlock->fallThrough == NULL ||
1432 curBlock->fallThrough == nextBlock ||
1433 curBlock->fallThrough == cUnit->exitBlock);
1435 if ((curBlock->fallThrough == NULL) &&
1437 curBlock->needFallThroughBranch = true;
1438 curBlock->fallThrough = nextBlock;
1439 dvmCompilerSetBit(nextBlock->predecessors, curBlock->id);
1445 curBlock = nextBlock;
1485 BasicBlock *curBlock = dvmCompilerNewBB(kDalvikByteCode, numBlocks++);
1486 curBlock->startOffset = curOffset;
1488 dvmInsertGrowableList(&cUnit->blockList, (intptr_t) curBlock);
1489 entryBlock->fallThrough = curBlock;
1490 dvmCompilerSetBit(curBlock->predecessors, entryBlock->id);
1503 changed = exhaustTrace(cUnit, curBlock);