Lines Matching defs:image_header

229 static bool ReadSpecificImageHeader(const char* filename, ImageHeader* image_header) {
234 const bool success = image_file->ReadFully(image_header, sizeof(ImageHeader));
235 if (!success || !image_header->IsValid()) {
572 ImageHeader* image_header = &temp_image_header;
575 bool success = file->ReadFully(image_header, sizeof(*image_header));
576 if (!success || !image_header->IsValid()) {
583 if (image_file_size < sizeof(ImageHeader) + image_header->GetDataSize()) {
586 sizeof(ImageHeader) + image_header->GetDataSize());
594 const uint32_t image_oat_checksum = image_header->GetOatChecksum();
608 auto& section = image_header->GetImageSection(section_idx);
610 << reinterpret_cast<void*>(image_header->GetImageBegin() + section.Offset()) << " "
615 const auto& bitmap_section = image_header->GetImageBitmapSection();
618 const size_t image_bitmap_offset = RoundUp(sizeof(ImageHeader) + image_header->GetDataSize(),
636 *image_header,
637 image_header->GetImageBegin(),
640 image_header->IsPic() ? nullptr : error_msg));
643 if (map == nullptr && image_header->IsPic()) {
646 *image_header,
657 DCHECK_EQ(0, memcmp(image_header, map->Begin(), sizeof(ImageHeader)));
674 image_header = reinterpret_cast<ImageHeader*>(map->Begin());
680 const ImageSection& image_objects = image_header->GetObjectsSection();
700 if (!RelocateInPlace(*image_header,
745 CHECK_EQ(oat_file != nullptr, image_header->IsAppImage());
746 if (image_header->IsAppImage()) {
748 image_header->GetImageMethod(ImageHeader::kResolutionMethod));
750 image_header->GetImageMethod(ImageHeader::kImtConflictMethod));
752 image_header->GetImageMethod(ImageHeader::kImtUnimplementedMethod));
754 image_header->GetImageMethod(ImageHeader::kSaveAllCalleeSavesMethod));
756 image_header->GetImageMethod(ImageHeader::kSaveRefsOnlyMethod));
758 image_header->GetImageMethod(ImageHeader::kSaveRefsAndArgsMethod));
760 image_header->GetImageMethod(ImageHeader::kSaveEverythingMethod));
762 image_header->GetImageMethod(ImageHeader::kSaveEverythingMethodForClinit));
764 image_header->GetImageMethod(ImageHeader::kSaveEverythingMethodForSuspendCheck));
767 runtime->SetResolutionMethod(image_header->GetImageMethod(ImageHeader::kResolutionMethod));
768 runtime->SetImtConflictMethod(image_header->GetImageMethod(ImageHeader::kImtConflictMethod));
770 image_header->GetImageMethod(ImageHeader::kImtUnimplementedMethod));
772 image_header->GetImageMethod(ImageHeader::kSaveAllCalleeSavesMethod),
775 image_header->GetImageMethod(ImageHeader::kSaveRefsOnlyMethod),
778 image_header->GetImageMethod(ImageHeader::kSaveRefsAndArgsMethod),
781 image_header->GetImageMethod(ImageHeader::kSaveEverythingMethod),
784 image_header->GetImageMethod(ImageHeader::kSaveEverythingMethodForClinit),
787 image_header->GetImageMethod(ImageHeader::kSaveEverythingMethodForSuspendCheck),
801 const ImageHeader& image_header,
807 const ImageHeader::StorageMode storage_mode = image_header.GetStorageMode();
810 image_header.GetImageSize(),
833 image_header.GetImageSize(),
839 const size_t stored_size = image_header.GetDataSize();
853 memcpy(map->Begin(), &image_header, sizeof(ImageHeader));
867 if (decompressed_size + sizeof(ImageHeader) != image_header.GetImageSize()) {
872 image_header.GetImageSize());
1189 static bool RelocateInPlace(ImageHeader& image_header,
1195 if (!image_header.IsPic()) {
1196 if (image_header.GetImageBegin() == target_base) {
1208 const PointerSize pointer_size = image_header.GetPointerSize();
1221 const uint32_t image_header_boot_image_size = image_header.GetBootImageSize();
1222 const uint32_t image_header_boot_oat_size = image_header.GetBootOatSize();
1238 RelocationRange boot_image(image_header.GetBootImageBegin(),
1241 RelocationRange boot_oat(image_header.GetBootOatBegin(),
1244 RelocationRange app_image(reinterpret_cast<uintptr_t>(image_header.GetImageBegin()),
1246 image_header.GetImageSize());
1248 RelocationRange app_oat(reinterpret_cast<uintptr_t>(image_header.GetOatDataBegin()),
1251 image_header.GetOatDataEnd() - image_header.GetOatDataBegin());
1265 const ImageSection& objects_section = image_header.GetObjectsSection();
1275 image_header.GetImageSize()));
1290 image_header.GetImageRoots<kWithoutReadBarrier>())));
1291 image_header.RelocateImageObjects(app_image.Delta());
1292 CHECK_EQ(image_header.GetImageBegin(), target_base);
1294 auto* dex_caches = image_header.GetImageRoot<kWithoutReadBarrier>(ImageHeader::kDexCaches)->
1375 image_header.VisitPackedArtMethods(&method_visitor, target_base, pointer_size);
1382 image_header.VisitPackedArtFields(&field_visitor, target_base);
1386 image_header.VisitPackedImTables(fixup_adapter, target_base, pointer_size);
1390 image_header.VisitPackedImtConflictTables(fixup_adapter, target_base, pointer_size);
1393 image_header.RelocateImageMethods(boot_image.Delta());
1394 const auto& class_table_section = image_header.GetClassTableSection();
1416 const ImageHeader& image_header = image.GetImageHeader();
1419 CHECK(image_header.GetOatDataBegin() != nullptr);
1424 image_header.GetOatDataBegin(),
1425 image_header.GetOatFileBegin(),
1438 uint32_t image_oat_checksum = image_header.GetOatChecksum();
1447 int32_t image_patch_delta = image_header.GetPatchDelta();
1449 if (oat_patch_delta != image_patch_delta && !image_header.CompilePic()) {