Home | History | Annotate | Download | only in compiler

Lines Matching refs:patch

649 static ArtMethod* GetTargetMethod(const CompilerDriver::PatchInformation* patch)
652 DexCache* dex_cache = class_linker->FindDexCache(patch->GetDexFile());
653 ArtMethod* method = class_linker->ResolveMethod(patch->GetDexFile(),
654 patch->GetTargetMethodIdx(),
658 patch->GetTargetInvokeType());
660 << patch->GetDexFile().GetLocation() << " " << patch->GetTargetMethodIdx();
662 << patch->GetDexFile().GetLocation() << " " << patch->GetTargetMethodIdx();
663 CHECK(dex_cache->GetResolvedMethods()->Get(patch->GetTargetMethodIdx()) == method)
664 << patch->GetDexFile().GetLocation() << " " << patch->GetReferrerMethodIdx() << " "
665 << PrettyMethod(dex_cache->GetResolvedMethods()->Get(patch->GetTargetMethodIdx())) << " "
678 const CompilerDriver::PatchInformation* patch = code_to_patch[i];
679 ArtMethod* target = GetTargetMethod(patch);
683 SetPatchLocation(patch, reinterpret_cast<uint32_t>(GetOatAddress(code_offset)));
688 const CompilerDriver::PatchInformation* patch = methods_to_patch[i];
689 ArtMethod* target = GetTargetMethod(patch);
690 SetPatchLocation(patch, reinterpret_cast<uint32_t>(GetImageAddress(target)));
699 void ImageWriter::SetPatchLocation(const CompilerDriver::PatchInformation* patch, uint32_t value) {
701 const void* oat_code = class_linker->GetOatCodeFor(patch->GetDexFile(),
702 patch->GetReferrerClassDefIdx(),
703 patch->GetReferrerMethodIdx());
707 uint32_t* patch_location = reinterpret_cast<uint32_t*>(base + patch->GetLiteralOffset());
709 const DexFile::MethodId& id = patch->GetDexFile().GetMethodId(patch->GetTargetMethodIdx());