Home | History | Annotate | Download | only in analysis

Lines Matching refs:InsnFlags

126 static bool doCodeVerification(const Method* meth, InsnFlags* insnFlags,\
128 static bool verifyInstruction(const Method* meth, InsnFlags* insnFlags,\
132 static void dumpRegTypes(const Method* meth, const InsnFlags* insnFlags,\
370 const InsnFlags* insnFlags, int newInstanceCount)
407 int width = dvmInsnGetWidth(insnFlags, addr);
2431 static void updateRegisters(const Method* meth, InsnFlags* insnFlags,
2438 if (!dvmInsnIsBranchTarget(insnFlags, nextInsn)) {
2439 LOGE("insnFlags[0x%x]=0x%08x\n", nextInsn, insnFlags[nextInsn]);
2446 if (!dvmInsnIsVisitedOrChanged(insnFlags, nextInsn)) {
2456 dvmInsnSetChanged(insnFlags, nextInsn, true);
2460 //dumpRegTypes(meth, insnFlags, targetRegs, 0, "targ", NULL, 0);
2461 //dumpRegTypes(meth, insnFlags, workRegs, 0, "work", NULL, 0);
2473 //dumpRegTypes(meth, insnFlags, targetRegs, 0, "rslt", NULL, 0);
2477 dvmInsnSetChanged(insnFlags, nextInsn, true);
2812 static bool initRegisterTable(const Method* meth, const InsnFlags* insnFlags,
2839 interesting = dvmInsnIsOpcode(insnFlags, i);
2842 interesting = dvmInsnIsGcPoint(insnFlags, i) ||
2843 dvmInsnIsBranchTarget(insnFlags, i);
2846 interesting = dvmInsnIsBranchTarget(insnFlags, i);
2857 //if (dvmInsnIsOpcode(insnFlags, i))
2872 interesting = dvmInsnIsOpcode(insnFlags, i);
2875 interesting = dvmInsnIsGcPoint(insnFlags, i) ||
2876 dvmInsnIsBranchTarget(insnFlags, i);
2879 interesting = dvmInsnIsBranchTarget(insnFlags, i);
2961 * in "insnFlags".
2968 static bool replaceFailingInstruction(const Method* meth, InsnFlags* insnFlags,
3050 int width = dvmInsnGetWidth(insnFlags, insnIdx);
3135 if (!initRegisterTable(meth, vdata->insnFlags, &regTable,
3151 if (!doCodeVerification(meth, vdata->insnFlags, &regTable, vdata->uninitMap))
3233 static bool doCodeVerification(const Method* meth, InsnFlags* insnFlags,
3245 dvmInsnSetChanged(insnFlags, 0, true);
3273 if (dvmInsnIsChanged(insnFlags, insnIdx))
3299 if (dvmInsnIsBranchTarget(insnFlags, insnIdx)) {
3305 dumpRegTypes(meth, insnFlags, workRegs, insnIdx, NULL,uninitMap,
3311 dumpRegTypes(meth, insnFlags, workRegs, insnIdx, NULL,uninitMap,
3329 dumpRegTypes(meth, insnFlags, workRegs, 0, "work",
3331 dumpRegTypes(meth, insnFlags, insnRegs, 0, "insn",
3339 if (!verifyInstruction(meth, insnFlags, regTable, workRegs, insnIdx,
3386 dvmInsnSetVisited(insnFlags, insnIdx, true);
3387 dvmInsnSetChanged(insnFlags, insnIdx, false);
3401 insnIdx += dvmInsnGetWidth(insnFlags, insnIdx))
3416 dvmInsnSetVisited(insnFlags, insnIdx, true);
3419 if (!dvmInsnIsVisited(insnFlags, insnIdx)) {
3462 * clear any other flags in "insnFlags".
3467 static bool verifyInstruction(const Method* meth, InsnFlags* insnFlags,
3518 if ((nextFlags & kInstrCanThrow) != 0 && dvmInsnIsInTry(insnFlags, insnIdx))
5487 if (!replaceFailingInstruction(meth, insnFlags, insnIdx, failure)) {
5516 int insnWidth = dvmInsnGetWidth(insnFlags, insnIdx);
5536 updateRegisters(meth, insnFlags, regTable, insnIdx+insnWidth,
5544 dvmInsnSetChanged(insnFlags, insnIdx+insnWidth, true);
5561 if (!dvmGetBranchTarget(meth, insnFlags, insnIdx, &branchTarget,
5575 updateRegisters(meth, insnFlags, regTable, insnIdx+branchTarget,
5614 updateRegisters(meth, insnFlags, regTable, absOffset, workRegs);
5623 if ((nextFlags & kInstrCanThrow) != 0 && dvmInsnIsInTry(insnFlags, insnIdx))
5637 updateRegisters(meth, insnFlags, regTable, handler->address,
5650 *pStartGuess = insnIdx + dvmInsnGetWidth(insnFlags, insnIdx);
5657 dvmInsnGetWidth(insnFlags, *pStartGuess) != 0);
5685 static void dumpRegTypes(const Method* meth, const InsnFlags* insnFlags,
5691 bool branchTarget = dvmInsnIsBranchTarget(insnFlags, addr);