Lines Matching refs:resolved_method

212 static ArtMethod* FindVirtualOrInterfaceTarget(HInvoke* invoke, ArtMethod* resolved_method)  in FindVirtualOrInterfaceTarget()  argument
214 if (IsMethodOrDeclaringClassFinal(resolved_method)) { in FindVirtualOrInterfaceTarget()
216 return resolved_method; in FindVirtualOrInterfaceTarget()
236 } else if (!resolved_method->GetDeclaringClass()->IsAssignableFrom(info.GetTypeHandle().Get())) { in FindVirtualOrInterfaceTarget()
248 resolved_method = info.GetTypeHandle()->FindVirtualMethodForInterface( in FindVirtualOrInterfaceTarget()
249 resolved_method, pointer_size); in FindVirtualOrInterfaceTarget()
252 resolved_method = info.GetTypeHandle()->FindVirtualMethodForVirtual( in FindVirtualOrInterfaceTarget()
253 resolved_method, pointer_size); in FindVirtualOrInterfaceTarget()
256 if (resolved_method == nullptr) { in FindVirtualOrInterfaceTarget()
261 } else if (!resolved_method->IsInvokable()) { in FindVirtualOrInterfaceTarget()
266 } else if (IsMethodOrDeclaringClassFinal(resolved_method)) { in FindVirtualOrInterfaceTarget()
268 return resolved_method; in FindVirtualOrInterfaceTarget()
272 return resolved_method; in FindVirtualOrInterfaceTarget()
376 ArtMethod* HInliner::TryCHADevirtualization(ArtMethod* resolved_method) { in TryCHADevirtualization() argument
377 if (!resolved_method->HasSingleImplementation()) { in TryCHADevirtualization()
394 ArtMethod* single_impl = resolved_method->GetSingleImplementation(pointer_size); in TryCHADevirtualization()
468 ArtMethod* resolved_method = invoke_instruction->GetResolvedMethod(); in FindActualCallTarget() local
469 DCHECK(resolved_method != nullptr); in FindActualCallTarget()
473 actual_method = resolved_method; in FindActualCallTarget()
476 actual_method = FindVirtualOrInterfaceTarget(invoke_instruction, resolved_method); in FindActualCallTarget()
480 ArtMethod* method = TryCHADevirtualization(resolved_method); in FindActualCallTarget()
512 ArtMethod* resolved_method = invoke_instruction->GetResolvedMethod(); in TryInline() local
513 if (resolved_method == nullptr) { in TryInline()
527 return TryInlineFromInlineCache(caller_dex_file, invoke_instruction, resolved_method); in TryInline()
542 outermost_graph_->AddCHASingleImplementationDependency(resolved_method); in TryInline()
606 ArtMethod* resolved_method) in TryInlineFromInlineCache() argument
640 return TryInlinePolymorphicCall(invoke_instruction, resolved_method, inline_cache); in TryInlineFromInlineCache()
642 return TryInlineMonomorphicCall(invoke_instruction, resolved_method, inline_cache); in TryInlineFromInlineCache()
648 return TryInlinePolymorphicCall(invoke_instruction, resolved_method, inline_cache); in TryInlineFromInlineCache()
823 ArtMethod* resolved_method, in ResolveMethodFromInlineCache() argument
833 if (!resolved_method->GetDeclaringClass()->IsAssignableFrom(klass.Get())) { in ResolveMethodFromInlineCache()
839 resolved_method = klass->FindVirtualMethodForInterface(resolved_method, pointer_size); in ResolveMethodFromInlineCache()
842 resolved_method = klass->FindVirtualMethodForVirtual(resolved_method, pointer_size); in ResolveMethodFromInlineCache()
844 DCHECK(resolved_method != nullptr); in ResolveMethodFromInlineCache()
845 return resolved_method; in ResolveMethodFromInlineCache()
849 ArtMethod* resolved_method, in TryInlineMonomorphicCall() argument
858 << "Call to " << ArtMethod::PrettyMethod(resolved_method) in TryInlineMonomorphicCall()
868 resolved_method = ResolveMethodFromInlineCache( in TryInlineMonomorphicCall()
869 monomorphic_type, resolved_method, invoke_instruction, pointer_size); in TryInlineMonomorphicCall()
871 LOG_NOTE() << "Try inline monomorphic call to " << resolved_method->PrettyMethod(); in TryInlineMonomorphicCall()
872 if (resolved_method == nullptr) { in TryInlineMonomorphicCall()
882 resolved_method, in TryInlineMonomorphicCall()
1010 ArtMethod* resolved_method, in TryInlinePolymorphicCall() argument
1015 if (TryInlinePolymorphicCallToSameTarget(invoke_instruction, resolved_method, classes)) { in TryInlinePolymorphicCall()
1032 handle, resolved_method, invoke_instruction, pointer_size); in TryInlinePolymorphicCall()
1057 LOG_SUCCESS() << "Polymorphic call to " << ArtMethod::PrettyMethod(resolved_method) in TryInlinePolymorphicCall()
1090 << "Call to " << ArtMethod::PrettyMethod(resolved_method) in TryInlinePolymorphicCall()
1185 ArtMethod* resolved_method, in TryInlinePolymorphicCallToSameTarget() argument
1195 DCHECK(resolved_method != nullptr); in TryInlinePolymorphicCallToSameTarget()
1598 ArtMethod* resolved_method, in TryPatternSubstitution() argument
1601 if (!InlineMethodAnalyser::AnalyseMethodCode(resolved_method, &inline_method)) { in TryPatternSubstitution()
1615 if (resolved_method->GetShorty()[0] == 'L') { in TryPatternSubstitution()
1629 HInstanceFieldGet* iget = CreateInstanceFieldGet(data.field_idx, resolved_method, obj); in TryPatternSubstitution()
1644 HInstanceFieldSet* iput = CreateInstanceFieldSet(data.field_idx, resolved_method, obj, value); in TryPatternSubstitution()
1687 CreateInstanceFieldSet(field_index, resolved_method, obj, value, &is_final); in TryPatternSubstitution()
1805 ArtMethod* const resolved_method = callee_graph->GetArtMethod(); in SubstituteArguments() local
1827 if (!resolved_method->IsStatic() && parameter_index == 0 && receiver_type.IsValid()) { in SubstituteArguments()
1841 if (run_rtp || ArgumentTypesMoreSpecific(invoke_instruction, resolved_method)) { in SubstituteArguments()
1860 ArtMethod* const resolved_method = callee_graph->GetArtMethod(); in CanInlineBody() local
1861 const uint32_t method_index = resolved_method->GetMethodIndex(); in CanInlineBody()
1863 IsSameDexFile(*outer_compilation_unit_.GetDexFile(), *resolved_method->GetDexFile()); in CanInlineBody()
1955 resolved_method)) { in CanInlineBody()
1991 ArtMethod* resolved_method, in TryBuildAndInlineHelper() argument
1994 DCHECK(!(resolved_method->IsStatic() && receiver_type.IsValid())); in TryBuildAndInlineHelper()
1995 const dex::CodeItem* code_item = resolved_method->GetCodeItem(); in TryBuildAndInlineHelper()
1996 const DexFile& callee_dex_file = *resolved_method->GetDexFile(); in TryBuildAndInlineHelper()
1997 uint32_t method_index = resolved_method->GetDexMethodIndex(); in TryBuildAndInlineHelper()
1998 CodeItemDebugInfoAccessor code_item_accessor(resolved_method->DexInstructionDebugInfo()); in TryBuildAndInlineHelper()
2000 Handle<mirror::DexCache> dex_cache = NewHandleIfDifferent(resolved_method->GetDexCache(), in TryBuildAndInlineHelper()
2004 NewHandleIfDifferent(resolved_method->GetDeclaringClass()->GetClassLoader(), in TryBuildAndInlineHelper()
2009 graph_->GetHandleCache()->NewHandle(resolved_method->GetDeclaringClass()); in TryBuildAndInlineHelper()
2015 resolved_method->GetDeclaringClass()->GetDexClassDefIndex(), in TryBuildAndInlineHelper()
2017 resolved_method->GetAccessFlags(), in TryBuildAndInlineHelper()
2030 const dex::ClassDef& callee_class = resolved_method->GetClassDef(); in TryBuildAndInlineHelper()
2050 callee_graph->SetArtMethod(resolved_method); in TryBuildAndInlineHelper()
2071 resolved_method->GetQuickenedInfo()); in TryBuildAndInlineHelper()
2197 bool HInliner::ArgumentTypesMoreSpecific(HInvoke* invoke_instruction, ArtMethod* resolved_method) { in ArgumentTypesMoreSpecific() argument
2200 if (!resolved_method->IsStatic()) { in ArgumentTypesMoreSpecific()
2201 if (IsReferenceTypeRefinement(resolved_method->GetDeclaringClass(), in ArgumentTypesMoreSpecific()
2211 const dex::TypeList* param_list = resolved_method->GetParameterTypeList(); in ArgumentTypesMoreSpecific()
2213 input_idx = resolved_method->IsStatic() ? 0 : 1, in ArgumentTypesMoreSpecific()
2219 ObjPtr<mirror::Class> param_cls = resolved_method->LookupResolvedClassFromTypeIndex( in ArgumentTypesMoreSpecific()
2258 void HInliner::FixUpReturnReferenceType(ArtMethod* resolved_method, in FixUpReturnReferenceType() argument
2268 ObjPtr<mirror::Class> cls = resolved_method->LookupResolvedReturnType(); in FixUpReturnReferenceType()