Lines Matching refs:inst

49 const RegType& RegisterLine::GetInvocationThis(MethodVerifier* verifier, const Instruction* inst,
51 DCHECK(inst->IsInvoke());
52 const size_t args_count = inst->VRegA();
60 const uint32_t this_reg = inst->VRegC();
196 void RegisterLine::CheckUnaryOp(MethodVerifier* verifier, const Instruction* inst,
198 if (VerifyRegisterType(verifier, inst->VRegB_12x(), src_type)) {
199 SetRegisterType<LockOp::kClear>(verifier, inst->VRegA_12x(), dst_type);
203 void RegisterLine::CheckUnaryOpWide(MethodVerifier* verifier, const Instruction* inst,
206 if (VerifyRegisterTypeWide(verifier, inst->VRegB_12x(), src_type1, src_type2)) {
207 SetRegisterTypeWide(verifier, inst->VRegA_12x(), dst_type1, dst_type2);
211 void RegisterLine::CheckUnaryOpToWide(MethodVerifier* verifier, const Instruction* inst,
214 if (VerifyRegisterType(verifier, inst->VRegB_12x(), src_type)) {
215 SetRegisterTypeWide(verifier, inst->VRegA_12x(), dst_type1, dst_type2);
219 void RegisterLine::CheckUnaryOpFromWide(MethodVerifier* verifier, const Instruction* inst,
222 if (VerifyRegisterTypeWide(verifier, inst->VRegB_12x(), src_type1, src_type2)) {
223 SetRegisterType<LockOp::kClear>(verifier, inst->VRegA_12x(), dst_type);
227 void RegisterLine::CheckBinaryOp(MethodVerifier* verifier, const Instruction* inst,
231 const uint32_t vregB = inst->VRegB_23x();
232 const uint32_t vregC = inst->VRegC_23x();
240 inst->VRegA_23x(),
245 SetRegisterType<LockOp::kClear>(verifier, inst->VRegA_23x(), dst_type);
249 void RegisterLine::CheckBinaryOpWide(MethodVerifier* verifier, const Instruction* inst,
253 if (VerifyRegisterTypeWide(verifier, inst->VRegB_23x(), src_type1_1, src_type1_2) &&
254 VerifyRegisterTypeWide(verifier, inst->VRegC_23x(), src_type2_1, src_type2_2)) {
255 SetRegisterTypeWide(verifier, inst->VRegA_23x(), dst_type1, dst_type2);
259 void RegisterLine::CheckBinaryOpWideShift(MethodVerifier* verifier, const Instruction* inst,
262 if (VerifyRegisterTypeWide(verifier, inst->VRegB_23x(), long_lo_type, long_hi_type) &&
263 VerifyRegisterType(verifier, inst->VRegC_23x(), int_type)) {
264 SetRegisterTypeWide(verifier, inst->VRegA_23x(), long_lo_type, long_hi_type);
268 void RegisterLine::CheckBinaryOp2addr(MethodVerifier* verifier, const Instruction* inst,
271 const uint32_t vregA = inst->VRegA_12x();
272 const uint32_t vregB = inst->VRegB_12x();
289 void RegisterLine::CheckBinaryOp2addrWide(MethodVerifier* verifier, const Instruction* inst,
293 const uint32_t vregA = inst->VRegA_12x();
294 const uint32_t vregB = inst->VRegB_12x();
301 void RegisterLine::CheckBinaryOp2addrWideShift(MethodVerifier* verifier, const Instruction* inst,
304 const uint32_t vregA = inst->VRegA_12x();
305 const uint32_t vregB = inst->VRegB_12x();
312 void RegisterLine::CheckLiteralOp(MethodVerifier* verifier, const Instruction* inst,
315 const uint32_t vregA = is_lit16 ? inst->VRegA_22s() : inst->VRegA_22b();
316 const uint32_t vregB = is_lit16 ? inst->VRegB_22s() : inst->VRegB_22b();
321 const uint32_t val = is_lit16 ? inst->VRegC_22s() : inst->VRegC_22b();