• Home
  • Raw
  • Download

Lines Matching refs:meth

26 static bool verifyMethod(Method* meth, int verifyFlags);
27 static bool verifyInstructions(const Method* meth, InsnFlags* insnFlags,
174 static bool verifyMethod(Method* meth, int verifyFlags) in verifyMethod() argument
186 if (dvmGetMethodInsnsSize(meth) == 0) { in verifyMethod()
187 if (!dvmIsNativeMethod(meth) && !dvmIsAbstractMethod(meth)) { in verifyMethod()
188 LOG_VFY_METH(meth, in verifyMethod()
200 if (meth->insSize > meth->registersSize) { in verifyMethod()
201 LOG_VFY_METH(meth, "VFY: bad register counts (ins=%d regs=%d)\n", in verifyMethod()
202 meth->insSize, meth->registersSize); in verifyMethod()
213 calloc(dvmGetMethodInsnsSize(meth), sizeof(InsnFlags)); in verifyMethod()
222 if (!dvmComputeCodeWidths(meth, insnFlags, &newInstanceCount)) in verifyMethod()
228 uninitMap = dvmCreateUninitInstanceMap(meth, insnFlags, newInstanceCount); in verifyMethod()
235 if (!dvmSetTryFlags(meth, insnFlags)) in verifyMethod()
241 if (!verifyInstructions(meth, insnFlags, verifyFlags)) in verifyMethod()
252 if (!dvmVerifyCodeFlow(meth, insnFlags, uninitMap)) { in verifyMethod()
271 static bool checkArrayData(const Method* meth, int curOffset) in checkArrayData() argument
273 const int insnCount = dvmGetMethodInsnsSize(meth); in checkArrayData()
274 const u2* insns = meth->insns + curOffset; in checkArrayData()
286 LOG_VFY_METH(meth, in checkArrayData()
297 LOG_VFY_METH(meth, in checkArrayData()
310 LOG_VFY_METH(meth, in checkArrayData()
326 static void decodeInstruction(const Method* meth, int insnIdx, in decodeInstruction() argument
329 dexDecodeInstruction(gDvm.instrFormat, meth->insns + insnIdx, pDecInsn); in decodeInstruction()
339 static bool checkNewInstance(const Method* meth, int insnIdx) in checkNewInstance() argument
341 DvmDex* pDvmDex = meth->clazz->pDvmDex; in checkNewInstance()
346 decodeInstruction(meth, insnIdx, &decInsn); in checkNewInstance()
349 LOG_VFY_METH(meth, "VFY: bad type index %d (max %d)\n", in checkNewInstance()
356 LOG_VFY_METH(meth, "VFY: can't call new-instance on type '%s'\n", in checkNewInstance()
369 static bool checkNewArray(const Method* meth, int insnIdx) in checkNewArray() argument
371 DvmDex* pDvmDex = meth->clazz->pDvmDex; in checkNewArray()
376 decodeInstruction(meth, insnIdx, &decInsn); in checkNewArray()
379 LOG_VFY_METH(meth, "VFY: bad type index %d (max %d)\n", in checkNewArray()
393 LOG_VFY_METH(meth, "VFY: can't new-array class '%s' (not an array)\n", in checkNewArray()
398 LOG_VFY_METH(meth, "VFY: can't new-array class '%s' (exceeds limit)\n", in checkNewArray()
410 static bool checkTypeIndex(const Method* meth, int insnIdx, bool useB) in checkTypeIndex() argument
412 DvmDex* pDvmDex = meth->clazz->pDvmDex; in checkTypeIndex()
416 decodeInstruction(meth, insnIdx, &decInsn); in checkTypeIndex()
422 LOG_VFY_METH(meth, "VFY: bad type index %d (max %d)\n", in checkTypeIndex()
434 static bool checkFieldIndex(const Method* meth, int insnIdx, bool useB) in checkFieldIndex() argument
436 DvmDex* pDvmDex = meth->clazz->pDvmDex; in checkFieldIndex()
440 decodeInstruction(meth, insnIdx, &decInsn); in checkFieldIndex()
446 LOG_VFY_METH(meth, in checkFieldIndex()
459 static bool checkMethodIndex(const Method* meth, int insnIdx) in checkMethodIndex() argument
461 DvmDex* pDvmDex = meth->clazz->pDvmDex; in checkMethodIndex()
464 decodeInstruction(meth, insnIdx, &decInsn); in checkMethodIndex()
466 LOG_VFY_METH(meth, "VFY: bad method index %d (max %d)\n", in checkMethodIndex()
478 static bool checkStringIndex(const Method* meth, int insnIdx) in checkStringIndex() argument
480 DvmDex* pDvmDex = meth->clazz->pDvmDex; in checkStringIndex()
483 decodeInstruction(meth, insnIdx, &decInsn); in checkStringIndex()
485 LOG_VFY_METH(meth, "VFY: bad string index %d (max %d)\n", in checkStringIndex()
532 static bool verifyInstructions(const Method* meth, InsnFlags* insnFlags, in verifyInstructions() argument
535 const int insnCount = dvmGetMethodInsnsSize(meth); in verifyInstructions()
536 const u2* insns = meth->insns; in verifyInstructions()
564 if (dvmGetBranchTarget(meth, insnFlags, i, &offset, &unused)) { in verifyInstructions()
581 if (!checkStringIndex(meth, i)) in verifyInstructions()
587 if (!checkTypeIndex(meth, i, true)) in verifyInstructions()
591 if (!checkTypeIndex(meth, i, false)) in verifyInstructions()
598 if (!dvmCheckSwitchTargets(meth, insnFlags, i)) in verifyInstructions()
604 if (!checkArrayData(meth, i)) in verifyInstructions()
623 if (!dvmCheckBranchTarget(meth, insnFlags, i, false)) in verifyInstructions()
628 if (!dvmCheckBranchTarget(meth, insnFlags, i, true)) in verifyInstructions()
633 if (!checkNewInstance(meth, i)) in verifyInstructions()
638 if (!checkNewArray(meth, i)) in verifyInstructions()
643 if (!checkTypeIndex(meth, i, true)) in verifyInstructions()
647 if (!checkTypeIndex(meth, i, true)) in verifyInstructions()
666 if (!checkFieldIndex(meth, i, false)) in verifyInstructions()
684 if (!checkFieldIndex(meth, i, true)) in verifyInstructions()
699 if (!checkMethodIndex(meth, i)) in verifyInstructions()
733 LOG_VFY_METH(meth, in verifyInstructions()