Home
last modified time | relevance | path

Searched refs:reg_type (Results 1 – 5 of 5) sorted by relevance

/art/compiler/dex/
Dverified_method.cc155 reg_type(line->GetRegisterType(method_verifier, in GenerateDevirtMap() local
158 if (!reg_type.HasClass()) { in GenerateDevirtMap()
162 mirror::Class* reg_class = reg_type.GetClass(); in GenerateDevirtMap()
183 concrete_method = reg_type.GetClass()->FindVirtualMethodForInterface( in GenerateDevirtMap()
187 concrete_method = reg_type.GetClass()->FindVirtualMethodForVirtual( in GenerateDevirtMap()
195 if (reg_type.IsPreciseReference() || concrete_method->IsFinal() || in GenerateDevirtMap()
229 const verifier::RegType& reg_type(line->GetRegisterType(method_verifier, in GenerateSafeCastSet() local
233 is_safe_cast = cast_type.IsStrictlyAssignableFrom(reg_type); in GenerateSafeCastSet()
/art/runtime/verifier/
Dregister_line.cc333 const RegType& reg_type = GetRegisterType(verifier, reg_idx); in PushMonitor() local
334 if (!reg_type.IsReferenceTypes()) { in PushMonitor()
336 << reg_type << ")"; in PushMonitor()
348 if (reg_type.IsZero()) { in PushMonitor()
365 const RegType& reg_type = GetRegisterType(verifier, reg_idx); in PopMonitor() local
366 if (!reg_type.IsReferenceTypes()) { in PopMonitor()
367 … verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "monitor-exit on non-object (" << reg_type << ")"; in PopMonitor()
380 if (!success && reg_type.IsZero()) { in PopMonitor()
Dreg_type_cache.cc236 const RegType* reg_type = pair.second; in FindClass() local
237 if (MatchingPrecisionForClass(reg_type, precise)) { in FindClass()
238 return reg_type; in FindClass()
250 RegType* const reg_type = precise in InsertClass() local
254 return &AddEntry(reg_type); in InsertClass()
259 const RegType* reg_type = FindClass(klass, precise); in FromClass() local
260 if (reg_type == nullptr) { in FromClass()
261 reg_type = InsertClass(AddString(StringPiece(descriptor)), klass, precise); in FromClass()
263 return *reg_type; in FromClass()
Dmethod_verifier.cc1708 const RegType& reg_type = ResolveClassAndCheckAccess(iterator.GetTypeIdx()); in SetTypesFromSignature() local
1709 if (!reg_type.IsNonZeroReferenceTypes()) { in SetTypesFromSignature()
1713 reg_line->SetRegisterType<LockOp::kClear>(this, arg_start + cur_arg, reg_type); in SetTypesFromSignature()
2163 const RegType& reg_type = work_line_->GetRegisterType(this, vregA); in CodeFlowVerifyInstruction() local
2166 if (reg_type.IsUndefined()) { in CodeFlowVerifyInstruction()
2168 } else if (reg_type.IsConflict()) { in CodeFlowVerifyInstruction()
2170 } else if (reg_type.IsUninitializedTypes()) { in CodeFlowVerifyInstruction()
2172 << reg_type << "'"; in CodeFlowVerifyInstruction()
2173 } else if (!reg_type.IsReferenceTypes()) { in CodeFlowVerifyInstruction()
2176 << reg_type; in CodeFlowVerifyInstruction()
[all …]
/art/runtime/
DAndroid.mk192 verifier/reg_type.cc \