Home | History | Annotate | Download | only in analysis

Lines Matching defs:insnIdx

117     RegisterTable* regTable, int insnIdx, UninitInstanceMap* uninitMap,
1782 int insnIdx)
1784 return &regTable->registerLines[insnIdx];
1810 static inline void copyLineToTable(RegisterTable* regTable, int insnIdx,
1813 RegisterLine* dst = getRegisterLine(regTable, insnIdx);
1822 const RegisterTable* regTable, int insnIdx)
1824 RegisterLine* src = getRegisterLine(regTable, insnIdx);
1838 int insnIdx, const RegisterLine* line2)
1840 const RegisterLine* line1 = getRegisterLine(regTable, insnIdx);
2889 static bool checkMoveException(const Method* meth, int insnIdx,
2892 assert(insnIdx >= 0 && insnIdx < (int)dvmGetMethodInsnsSize(meth));
2894 if ((meth->insns[insnIdx] & 0xff) == OP_MOVE_EXCEPTION) {
2902 * For the "move-exception" instruction at "insnIdx", which must be at an
2912 static ClassObject* getCaughtExceptionType(const Method* meth, int insnIdx,
2945 if (handler->address == (u4) insnIdx) {
2977 insnIdx);
3240 int insnIdx, VerifyError failure)
3243 u2* oldInsns = (u2*) meth->insns + insnIdx;
3319 width = dvmInsnGetWidth(insnFlags, insnIdx);
3347 void handleMonitorEnter(RegisterLine* workLine, u4 regIdx, u4 insnIdx,
3374 workLine->monitorStack[workLine->monitorStackTop++] = insnIdx;
3380 void handleMonitorExit(RegisterLine* workLine, u4 regIdx, u4 insnIdx,
3416 workLine->monitorStackTop, insnIdx, regIdx,
3614 int insnIdx, startGuess;
3646 for (insnIdx = startGuess; insnIdx < insnsSize; insnIdx++) {
3647 if (dvmInsnIsChanged(insnFlags, insnIdx))
3651 if (insnIdx == insnsSize) {
3673 if (dvmInsnIsBranchTarget(insnFlags, insnIdx)) {
3676 copyLineFromTable(workLine, regTable, insnIdx);
3683 RegisterLine* registerLine = getRegisterLine(regTable, insnIdx);
3685 compareLineToTable(regTable, insnIdx, &regTable->workLine) != 0)
3699 dumpRegTypes(vdata, &regTable->workLine, insnIdx,
3704 // meth->clazz->descriptor, meth->name, meth->descriptor, insnIdx);
3705 if (!verifyInstruction(meth, insnFlags, regTable, insnIdx,
3708 //ALOGD("+++ %s bailing at %d", meth->name, insnIdx);
3715 dvmInsnSetVisited(insnFlags, insnIdx, true);
3716 dvmInsnSetChanged(insnFlags, insnIdx, false);
3729 for (insnIdx = 0; insnIdx < insnsSize;
3730 insnIdx += dvmInsnGetWidth(insnFlags, insnIdx))
3736 int instr = meth->insns[insnIdx];
3740 (instr == OP_NOP && (insnIdx + 1 < insnsSize) &&
3741 (meth->insns[insnIdx+1] == kPackedSwitchSignature ||
3742 meth->insns[insnIdx+1] == kSparseSwitchSignature ||
3743 meth->insns[insnIdx+1] == kArrayDataSignature)))
3745 dvmInsnSetVisited(insnFlags, insnIdx, true);
3748 if (!dvmInsnIsVisited(insnFlags, insnIdx)) {
3750 deadStart = insnIdx;
3756 deadStart, insnIdx-1,
3768 deadStart, insnIdx-1,
3797 RegisterTable* regTable, int insnIdx, UninitInstanceMap* uninitMap,
3801 const u2* insns = meth->insns + insnIdx;
3805 if (dvmInsnIsVisited(insnFlags, insnIdx)) {
3855 if ((nextFlags & kInstrCanThrow) != 0 && dvmInsnIsInTry(insnFlags, insnIdx))
3930 resClass = getCaughtExceptionType(meth, insnIdx, &failure);
4083 handleMonitorEnter(workLine, decInsn.vA, insnIdx, &failure);
4108 handleMonitorExit(workLine, decInsn.vA, insnIdx, &failure);
4194 int uidx = setUninitInstance(uninitMap, insnIdx, resClass);
5827 decInsn.opcode, insnIdx);
5832 decInsn.opcode, insnIdx);
5833 if (!replaceFailingInstruction(meth, insnFlags, insnIdx, failure)) {
5835 decInsn.opcode, insnIdx);
5839 insns = meth->insns + insnIdx;
5863 int insnWidth = dvmInsnGetWidth(insnFlags, insnIdx);
5864 if (insnIdx+insnWidth >= insnsSize) {
5867 insnIdx);
5875 if (!checkMoveException(meth, insnIdx+insnWidth, "next"))
5878 if (getRegisterLine(regTable, insnIdx+insnWidth)->regTypes != NULL) {
5883 if (!updateRegisters(meth, insnFlags, regTable, insnIdx+insnWidth,
5892 dvmInsnSetChanged(insnFlags, insnIdx+insnWidth, true);
5911 if (!dvmGetBranchOffset(meth, insnFlags, insnIdx, &branchTarget,
5915 LOG_VFY_METH(meth, "VFY: bad branch at %d", insnIdx);
5921 if (!checkMoveException(meth, insnIdx+branchTarget, "branch"))
5925 if (!updateRegisters(meth, insnFlags, regTable, insnIdx+branchTarget,
5958 absOffset = insnIdx + offset;
5976 if ((nextFlags & kInstrCanThrow) != 0 && dvmInsnIsInTry(insnFlags, insnIdx))
5982 if (dexFindCatchHandler(&iterator, pCode, insnIdx)) {
6021 "VFY: no catch-all for instruction at 0x%04x", insnIdx);
6033 workLine->monitorStackTop, insnIdx);
6044 *pStartGuess = insnIdx + dvmInsnGetWidth(insnFlags, insnIdx);
6047 *pStartGuess = insnIdx + branchTarget;