Lines Matching defs:decInsn

3837     DecodedInstruction decInsn;
3842 memset(&decInsn, 0x81, sizeof(decInsn));
3844 dexDecodeInstruction(insns, &decInsn);
3846 int nextFlags = dexGetFlagsFromOpcode(decInsn.opcode);
3866 switch (decInsn.opcode) {
3873 if (decInsn.vA != 0) {
3882 copyRegister1(workLine, decInsn.vA, decInsn.vB, kTypeCategory1nr,
3888 copyRegister2(workLine, decInsn.vA, decInsn.vB, &failure);
3893 copyRegister1(workLine, decInsn.vA, decInsn.vB, kTypeCategoryRef,
3909 copyResultRegister1(workLine, insnRegCount, decInsn.vA,
3913 copyResultRegister2(workLine, insnRegCount, decInsn.vA, &failure);
3916 copyResultRegister1(workLine, insnRegCount, decInsn.vA,
3934 setRegisterType(workLine, decInsn.vA, regTypeFromClass(resClass));
3961 RegType srcType = getRegisterType(workLine, decInsn.vA);
3969 verifyRegisterType(workLine, decInsn.vA, returnType, &failure);
3972 decInsn.vA);
3989 verifyRegisterType(workLine, decInsn.vA, returnType, &failure);
3992 decInsn.vA);
4024 resClass = getClassFromRegister(workLine, decInsn.vA, &failure);
4045 setRegisterType(workLine, decInsn.vA,
4046 determineCat1Const((s4)decInsn.vB));
4050 setRegisterType(workLine, decInsn.vA,
4051 determineCat1Const((s4) decInsn.vB << 16));
4058 setRegisterType(workLine, decInsn.vA, kRegTypeConstLo);
4063 setRegisterType(workLine, decInsn.vA,
4069 resClass = dvmOptResolveClass(meth->clazz, decInsn.vB, &failure);
4071 const char* badClassDesc = dexStringByTypeIdx(pDexFile, decInsn.vB);
4074 decInsn.vB, badClassDesc, meth->clazz->descriptor);
4077 setRegisterType(workLine, decInsn.vA,
4083 handleMonitorEnter(workLine, decInsn.vA, insnIdx, &failure);
4108 handleMonitorExit(workLine, decInsn.vA, insnIdx, &failure);
4118 * by ignoring the update to decInsn.vA when branching to a handler.
4120 resClass = dvmOptResolveClass(meth->clazz, decInsn.vB, &failure);
4122 const char* badClassDesc = dexStringByTypeIdx(pDexFile, decInsn.vB);
4125 decInsn.vB, badClassDesc, meth->clazz->descriptor);
4130 origType = getRegisterType(workLine, decInsn.vA);
4132 LOG_VFY("VFY: check-cast on non-reference in v%u",decInsn.vA);
4136 setRegisterType(workLine, decInsn.vA, regTypeFromClass(resClass));
4141 tmpType = getRegisterType(workLine, decInsn.vB);
4149 resClass = dvmOptResolveClass(meth->clazz, decInsn.vC, &failure);
4151 const char* badClassDesc = dexStringByTypeIdx(pDexFile, decInsn.vC);
4154 decInsn.vC, badClassDesc, meth->clazz->descriptor);
4158 setRegisterType(workLine, decInsn.vA, kRegTypeBoolean);
4163 resClass = getClassFromRegister(workLine, decInsn.vB, &failure);
4171 setRegisterType(workLine, decInsn.vA, kRegTypeInteger);
4175 resClass = dvmOptResolveClass(meth->clazz, decInsn.vB, &failure);
4177 const char* badClassDesc = dexStringByTypeIdx(pDexFile, decInsn.vB);
4180 decInsn.vB, badClassDesc, meth->clazz->descriptor);
4206 setRegisterType(workLine, decInsn.vA, uninitType);
4210 resClass = dvmOptResolveClass(meth->clazz, decInsn.vC, &failure);
4212 const char* badClassDesc = dexStringByTypeIdx(pDexFile, decInsn.vC);
4215 decInsn.vC, badClassDesc, meth->clazz->descriptor);
4222 verifyRegisterType(workLine, decInsn.vB, kRegTypeInteger, &failure);
4224 setRegisterType(workLine, decInsn.vA, regTypeFromClass(resClass));
4229 resClass = dvmOptResolveClass(meth->clazz, decInsn.vB, &failure);
4231 const char* badClassDesc = dexStringByTypeIdx(pDexFile, decInsn.vB);
4234 decInsn.vB, badClassDesc, meth->clazz->descriptor);
4240 bool isRange = (decInsn.opcode == OP_FILLED_NEW_ARRAY_RANGE);
4243 verifyFilledNewArrayRegs(meth, workLine, &decInsn,
4254 verifyRegisterType(workLine, decInsn.vB, kRegTypeFloat, &failure);
4255 verifyRegisterType(workLine, decInsn.vC, kRegTypeFloat, &failure);
4256 setRegisterType(workLine, decInsn.vA, kRegTypeBoolean);
4260 verifyRegisterType(workLine, decInsn.vB, kRegTypeDoubleLo, &failure);
4261 verifyRegisterType(workLine, decInsn.vC, kRegTypeDoubleLo, &failure);
4262 setRegisterType(workLine, decInsn.vA, kRegTypeBoolean);
4265 verifyRegisterType(workLine, decInsn.vB, kRegTypeLongLo, &failure);
4266 verifyRegisterType(workLine, decInsn.vC, kRegTypeLongLo, &failure);
4267 setRegisterType(workLine, decInsn.vA, kRegTypeBoolean);
4271 resClass = getClassFromRegister(workLine, decInsn.vA, &failure);
4290 verifyRegisterType(workLine, decInsn.vA, kRegTypeInteger, &failure);
4300 resClass = getClassFromRegister(workLine, decInsn.vA, &failure);
4373 type1 = getRegisterType(workLine, decInsn.vA);
4374 type2 = getRegisterType(workLine, decInsn.vB);
4396 tmpType = getRegisterType(workLine, decInsn.vA);
4405 tmpType = getRegisterType(workLine, decInsn.vB);
4417 tmpType = getRegisterType(workLine, decInsn.vA);
4431 tmpType = getRegisterType(workLine, decInsn.vA);
4459 indexType = getRegisterType(workLine, decInsn.vC);
4464 resClass = getClassFromRegister(workLine, decInsn.vB, &failure);
4500 setRegisterType(workLine, decInsn.vA, tmpType);
4508 indexType = getRegisterType(workLine, decInsn.vC);
4513 resClass = getClassFromRegister(workLine, decInsn.vB, &failure);
4549 setRegisterType(workLine, decInsn.vA, dstType);
4557 indexType = getRegisterType(workLine, decInsn.vC);
4563 resClass = getClassFromRegister(workLine, decInsn.vB, &failure);
4607 setRegisterType(workLine, decInsn.vA, dstType);
4629 indexType = getRegisterType(workLine, decInsn.vC);
4634 srcType = getRegisterType(workLine, decInsn.vA);
4648 resClass = getClassFromRegister(workLine, decInsn.vB, &failure);
4672 verifyRegisterType(workLine, decInsn.vA, dstType, &failure);
4684 tmpType = getRegisterType(workLine, decInsn.vC);
4689 resClass = getClassFromRegister(workLine, decInsn.vB, &failure);
4705 verifyRegisterType(workLine, decInsn.vA, kRegTypeLongLo, &failure);
4708 verifyRegisterType(workLine, decInsn.vA, kRegTypeDoubleLo, &failure);
4719 tmpType = getRegisterType(workLine, decInsn.vC);
4725 resClass = getClassFromRegister(workLine, decInsn.vA, &failure);
4737 arrayClass = getClassFromRegister(workLine, decInsn.vB, &failure);
4796 objType = getRegisterType(workLine, decInsn.vB);
4797 instField = getInstField(meth, uninitMap, objType, decInsn.vC,
4819 setRegisterType(workLine, decInsn.vA, tmpType);
4828 objType = getRegisterType(workLine, decInsn.vB);
4829 instField = getInstField(meth, uninitMap, objType, decInsn.vC,
4850 setRegisterType(workLine, decInsn.vA, dstType);
4860 objType = getRegisterType(workLine, decInsn.vB);
4861 instField = getInstField(meth, uninitMap, objType, decInsn.vC,
4875 setRegisterType(workLine, decInsn.vA,
4900 srcType = getRegisterType(workLine, decInsn.vA);
4921 objType = getRegisterType(workLine, decInsn.vB);
4922 instField = getInstField(meth, uninitMap, objType, decInsn.vC,
4940 verifyRegisterType(workLine, decInsn.vA, fieldType, &failure);
4954 tmpType = getRegisterType(workLine, decInsn.vA);
4956 RegType typeHi = getRegisterType(workLine, decInsn.vA + 1);
4966 objType = getRegisterType(workLine, decInsn.vB);
4967 instField = getInstField(meth, uninitMap, objType, decInsn.vC,
4978 verifyRegisterType(workLine, decInsn.vA, kRegTypeDoubleLo, &failure);
4981 verifyRegisterType(workLine, decInsn.vA, kRegTypeLongLo, &failure);
4998 objType = getRegisterType(workLine, decInsn.vB);
4999 instField = getInstField(meth, uninitMap, objType, decInsn.vC,
5015 valueType = getRegisterType(workLine, decInsn.vA);
5018 decInsn.vA, instField->name,
5027 decInsn.vA);
5066 staticField = getStaticField(meth, decInsn.vB, &failure);
5091 setRegisterType(workLine, decInsn.vA, tmpType);
5099 staticField = getStaticField(meth, decInsn.vB, &failure);
5119 setRegisterType(workLine, decInsn.vA, dstType);
5128 staticField = getStaticField(meth, decInsn.vB, &failure);
5143 setRegisterType(workLine, decInsn.vA, regTypeFromClass(fieldClass));
5166 srcType = getRegisterType(workLine, decInsn.vA);
5187 staticField = getStaticField(meth, decInsn.vB, &failure);
5210 verifyRegisterType(workLine, decInsn.vA, fieldType, &failure);
5223 tmpType = getRegisterType(workLine, decInsn.vA);
5225 RegType typeHi = getRegisterType(workLine, decInsn.vA + 1);
5234 staticField = getStaticField(meth, decInsn.vB, &failure);
5244 verifyRegisterType(workLine, decInsn.vA, kRegTypeDoubleLo, &failure);
5247 verifyRegisterType(workLine, decInsn.vA, kRegTypeLongLo, &failure);
5264 staticField = getStaticField(meth, decInsn.vB, &failure);
5279 valueType = getRegisterType(workLine, decInsn.vA);
5282 decInsn.vA, staticField->name,
5291 decInsn.vA);
5320 isRange = (decInsn.opcode == OP_INVOKE_VIRTUAL_RANGE ||
5321 decInsn.opcode == OP_INVOKE_SUPER_RANGE);
5322 isSuper = (decInsn.opcode == OP_INVOKE_SUPER ||
5323 decInsn.opcode == OP_INVOKE_SUPER_RANGE);
5326 &decInsn, uninitMap, METHOD_VIRTUAL, isRange,
5342 isRange = (decInsn.opcode == OP_INVOKE_DIRECT_RANGE);
5344 &decInsn, uninitMap, METHOD_DIRECT, isRange,
5360 thisType = getInvocationThis(workLine, &decInsn, &failure);
5421 isRange = (decInsn.opcode == OP_INVOKE_STATIC_RANGE);
5423 &decInsn, uninitMap, METHOD_STATIC, isRange,
5440 isRange = (decInsn.opcode == OP_INVOKE_INTERFACE_RANGE);
5442 &decInsn, uninitMap, METHOD_INTERFACE, isRange,
5453 thisType = getInvocationThis(workLine, &decInsn, &failure);
5500 checkUnop(workLine, &decInsn,
5505 checkUnop(workLine, &decInsn,
5509 checkUnop(workLine, &decInsn,
5513 checkUnop(workLine, &decInsn,
5517 checkUnop(workLine, &decInsn,
5521 checkUnop(workLine, &decInsn,
5525 checkUnop(workLine, &decInsn,
5529 checkUnop(workLine, &decInsn,
5533 checkUnop(workLine, &decInsn,
5537 checkUnop(workLine, &decInsn,
5541 checkUnop(workLine, &decInsn,
5545 checkUnop(workLine, &decInsn,
5549 checkUnop(workLine, &decInsn,
5553 checkUnop(workLine, &decInsn,
5557 checkUnop(workLine, &decInsn,
5561 checkUnop(workLine, &decInsn,
5565 checkUnop(workLine, &decInsn,
5569 checkUnop(workLine, &decInsn,
5573 checkUnop(workLine, &decInsn,
5585 checkBinop(workLine, &decInsn,
5591 checkBinop(workLine, &decInsn,
5602 checkBinop(workLine, &decInsn,
5609 checkBinop(workLine, &decInsn,
5617 checkBinop(workLine, &decInsn,
5625 checkBinop(workLine, &decInsn,
5636 checkBinop2addr(workLine, &decInsn,
5642 checkBinop2addr(workLine, &decInsn,
5646 checkBinop2addr(workLine, &decInsn,
5657 checkBinop2addr(workLine, &decInsn,
5663 checkBinop2addr(workLine, &decInsn,
5671 checkBinop2addr(workLine, &decInsn,
5679 checkBinop2addr(workLine, &decInsn,
5688 checkLitop(workLine, &decInsn,
5694 checkLitop(workLine, &decInsn,
5703 checkLitop(workLine, &decInsn,
5708 decInsn.vB, decInsn.vC, false, &failure);
5709 checkLitop(workLine, &decInsn,
5714 decInsn.vB, decInsn.vC, true, &failure);
5715 checkLitop(workLine, &decInsn,
5721 checkLitop(workLine, &decInsn,
5827 decInsn.opcode, insnIdx);
5832 decInsn.opcode, insnIdx);
5835 decInsn.opcode, insnIdx);
6017 if (!(decInsn.opcode == OP_MONITOR_ENTER &&