Lines Matching refs:resolved_method

213 static ArtMethod* FindVirtualOrInterfaceTarget(HInvoke* invoke, ArtMethod* resolved_method)  in FindVirtualOrInterfaceTarget()  argument
215 if (IsMethodOrDeclaringClassFinal(resolved_method)) { in FindVirtualOrInterfaceTarget()
217 return resolved_method; in FindVirtualOrInterfaceTarget()
237 } else if (!resolved_method->GetDeclaringClass()->IsAssignableFrom(info.GetTypeHandle().Get())) { in FindVirtualOrInterfaceTarget()
249 resolved_method = info.GetTypeHandle()->FindVirtualMethodForInterface( in FindVirtualOrInterfaceTarget()
250 resolved_method, pointer_size); in FindVirtualOrInterfaceTarget()
253 resolved_method = info.GetTypeHandle()->FindVirtualMethodForVirtual( in FindVirtualOrInterfaceTarget()
254 resolved_method, pointer_size); in FindVirtualOrInterfaceTarget()
257 if (resolved_method == nullptr) { in FindVirtualOrInterfaceTarget()
262 } else if (!resolved_method->IsInvokable()) { in FindVirtualOrInterfaceTarget()
267 } else if (IsMethodOrDeclaringClassFinal(resolved_method)) { in FindVirtualOrInterfaceTarget()
269 return resolved_method; in FindVirtualOrInterfaceTarget()
273 return resolved_method; in FindVirtualOrInterfaceTarget()
377 ArtMethod* HInliner::TryCHADevirtualization(ArtMethod* resolved_method) { in TryCHADevirtualization() argument
378 if (!resolved_method->HasSingleImplementation()) { in TryCHADevirtualization()
395 ArtMethod* single_impl = resolved_method->GetSingleImplementation(pointer_size); in TryCHADevirtualization()
481 ArtMethod* resolved_method = invoke_instruction->GetResolvedMethod(); in TryInline() local
482 if (resolved_method == nullptr) { in TryInline()
491 actual_method = resolved_method; in TryInline()
494 actual_method = FindVirtualOrInterfaceTarget(invoke_instruction, resolved_method); in TryInline()
499 ArtMethod* method = TryCHADevirtualization(resolved_method); in TryInline()
520 outermost_graph_->AddCHASingleImplementationDependency(resolved_method); in TryInline()
537 return TryInlineFromInlineCache(caller_dex_file, invoke_instruction, resolved_method); in TryInline()
589 ArtMethod* resolved_method) in TryInlineFromInlineCache() argument
624 return TryInlinePolymorphicCall(invoke_instruction, resolved_method, inline_cache); in TryInlineFromInlineCache()
626 return TryInlineMonomorphicCall(invoke_instruction, resolved_method, inline_cache); in TryInlineFromInlineCache()
632 return TryInlinePolymorphicCall(invoke_instruction, resolved_method, inline_cache); in TryInlineFromInlineCache()
809 ArtMethod* resolved_method, in ResolveMethodFromInlineCache() argument
819 if (!resolved_method->GetDeclaringClass()->IsAssignableFrom(klass.Get())) { in ResolveMethodFromInlineCache()
825 resolved_method = klass->FindVirtualMethodForInterface(resolved_method, pointer_size); in ResolveMethodFromInlineCache()
828 resolved_method = klass->FindVirtualMethodForVirtual(resolved_method, pointer_size); in ResolveMethodFromInlineCache()
830 DCHECK(resolved_method != nullptr); in ResolveMethodFromInlineCache()
831 return resolved_method; in ResolveMethodFromInlineCache()
835 ArtMethod* resolved_method, in TryInlineMonomorphicCall() argument
844 << "Call to " << ArtMethod::PrettyMethod(resolved_method) in TryInlineMonomorphicCall()
853 resolved_method = ResolveMethodFromInlineCache( in TryInlineMonomorphicCall()
854 monomorphic_type, resolved_method, invoke_instruction, pointer_size); in TryInlineMonomorphicCall()
856 LOG_NOTE() << "Try inline monomorphic call to " << resolved_method->PrettyMethod(); in TryInlineMonomorphicCall()
857 if (resolved_method == nullptr) { in TryInlineMonomorphicCall()
867 resolved_method, in TryInlineMonomorphicCall()
996 ArtMethod* resolved_method, in TryInlinePolymorphicCall() argument
1001 if (TryInlinePolymorphicCallToSameTarget(invoke_instruction, resolved_method, classes)) { in TryInlinePolymorphicCall()
1018 handle, resolved_method, invoke_instruction, pointer_size); in TryInlinePolymorphicCall()
1043 LOG_SUCCESS() << "Polymorphic call to " << ArtMethod::PrettyMethod(resolved_method) in TryInlinePolymorphicCall()
1076 << "Call to " << ArtMethod::PrettyMethod(resolved_method) in TryInlinePolymorphicCall()
1172 ArtMethod* resolved_method, in TryInlinePolymorphicCallToSameTarget() argument
1182 DCHECK(resolved_method != nullptr); in TryInlinePolymorphicCallToSameTarget()
1555 ArtMethod* resolved_method, in TryPatternSubstitution() argument
1558 if (!InlineMethodAnalyser::AnalyseMethodCode(resolved_method, &inline_method)) { in TryPatternSubstitution()
1572 if (resolved_method->GetShorty()[0] == 'L') { in TryPatternSubstitution()
1586 HInstanceFieldGet* iget = CreateInstanceFieldGet(data.field_idx, resolved_method, obj); in TryPatternSubstitution()
1601 HInstanceFieldSet* iput = CreateInstanceFieldSet(data.field_idx, resolved_method, obj, value); in TryPatternSubstitution()
1644 CreateInstanceFieldSet(field_index, resolved_method, obj, value, &is_final); in TryPatternSubstitution()
1760 ArtMethod* resolved_method, in TryBuildAndInlineHelper() argument
1764 DCHECK(!(resolved_method->IsStatic() && receiver_type.IsValid())); in TryBuildAndInlineHelper()
1766 const dex::CodeItem* code_item = resolved_method->GetCodeItem(); in TryBuildAndInlineHelper()
1767 const DexFile& callee_dex_file = *resolved_method->GetDexFile(); in TryBuildAndInlineHelper()
1768 uint32_t method_index = resolved_method->GetDexMethodIndex(); in TryBuildAndInlineHelper()
1769 CodeItemDebugInfoAccessor code_item_accessor(resolved_method->DexInstructionDebugInfo()); in TryBuildAndInlineHelper()
1771 Handle<mirror::DexCache> dex_cache = NewHandleIfDifferent(resolved_method->GetDexCache(), in TryBuildAndInlineHelper()
1775 NewHandleIfDifferent(resolved_method->GetDeclaringClass()->GetClassLoader(), in TryBuildAndInlineHelper()
1779 Handle<mirror::Class> compiling_class = handles_->NewHandle(resolved_method->GetDeclaringClass()); in TryBuildAndInlineHelper()
1785 resolved_method->GetDeclaringClass()->GetDexClassDefIndex(), in TryBuildAndInlineHelper()
1787 resolved_method->GetAccessFlags(), in TryBuildAndInlineHelper()
1800 const dex::ClassDef& callee_class = resolved_method->GetClassDef(); in TryBuildAndInlineHelper()
1819 callee_graph->SetArtMethod(resolved_method); in TryBuildAndInlineHelper()
1840 resolved_method->GetQuickenedInfo(), in TryBuildAndInlineHelper()
1879 if (!resolved_method->IsStatic() && parameter_index == 0 && receiver_type.IsValid()) { in TryBuildAndInlineHelper()
1893 if (run_rtp || ArgumentTypesMoreSpecific(invoke_instruction, resolved_method)) { in TryBuildAndInlineHelper()
1993 resolved_method)) { in TryBuildAndInlineHelper()
2124 bool HInliner::ArgumentTypesMoreSpecific(HInvoke* invoke_instruction, ArtMethod* resolved_method) { in ArgumentTypesMoreSpecific() argument
2127 if (!resolved_method->IsStatic()) { in ArgumentTypesMoreSpecific()
2128 if (IsReferenceTypeRefinement(GetClassRTI(resolved_method->GetDeclaringClass()), in ArgumentTypesMoreSpecific()
2138 const dex::TypeList* param_list = resolved_method->GetParameterTypeList(); in ArgumentTypesMoreSpecific()
2140 input_idx = resolved_method->IsStatic() ? 0 : 1, in ArgumentTypesMoreSpecific()
2146 ObjPtr<mirror::Class> param_cls = resolved_method->LookupResolvedClassFromTypeIndex( in ArgumentTypesMoreSpecific()
2185 void HInliner::FixUpReturnReferenceType(ArtMethod* resolved_method, in FixUpReturnReferenceType() argument
2195 ObjPtr<mirror::Class> cls = resolved_method->LookupResolvedReturnType(); in FixUpReturnReferenceType()