Lines Matching full:image_header
180 static bool ReadSpecificImageHeader(const char* filename, ImageHeader* image_header) {
185 const bool success = image_file->ReadFully(image_header, sizeof(ImageHeader));
186 if (!success || !image_header->IsValid()) {
242 ImageHeader* image_header = ReadImageHeader(image_location, image_isa, &error_msg);
243 if (image_header == nullptr) {
246 return image_header;
946 static bool RelocateInPlace(ImageHeader& image_header,
952 if (!image_header.IsPic()) {
953 if (image_header.GetImageBegin() == target_base) {
965 const size_t pointer_size = image_header.GetPointerSize();
978 const uint32_t image_header_boot_image_size = image_header.GetBootImageSize();
979 const uint32_t image_header_boot_oat_size = image_header.GetBootOatSize();
995 RelocationRange boot_image(image_header.GetBootImageBegin(),
998 RelocationRange boot_oat(image_header.GetBootOatBegin(),
1001 RelocationRange app_image(reinterpret_cast<uintptr_t>(image_header.GetImageBegin()),
1003 image_header.GetImageSize());
1005 RelocationRange app_oat(reinterpret_cast<uintptr_t>(image_header.GetOatDataBegin()),
1008 image_header.GetOatDataEnd() - image_header.GetOatDataBegin());
1022 const ImageSection& objects_section = image_header.GetImageSection(ImageHeader::kSectionObjects);
1032 image_header.GetImageSize()));
1047 image_header.GetImageRoots<kWithoutReadBarrier>())));
1048 image_header.RelocateImageObjects(app_image.Delta());
1049 CHECK_EQ(image_header.GetImageBegin(), target_base);
1051 auto* dex_caches = image_header.GetImageRoot<kWithoutReadBarrier>(ImageHeader::kDexCaches)->
1111 image_header.VisitPackedArtMethods(&method_visitor, target_base, pointer_size);
1118 image_header.VisitPackedArtFields(&field_visitor, target_base);
1122 image_header.VisitPackedImTables(fixup_adapter, target_base, pointer_size);
1126 image_header.VisitPackedImtConflictTables(fixup_adapter, target_base, pointer_size);
1129 image_header.RelocateImageMethods(boot_image.Delta());
1130 const auto& class_table_section = image_header.GetImageSection(ImageHeader::kSectionClassTable);
1170 ImageHeader* image_header = &temp_image_header;
1173 bool success = file->ReadFully(image_header, sizeof(*image_header));
1174 if (!success || !image_header->IsValid()) {
1181 if (image_file_size < sizeof(ImageHeader) + image_header->GetDataSize()) {
1184 sizeof(ImageHeader) + image_header->GetDataSize());
1192 const uint32_t image_oat_checksum = image_header->GetOatChecksum();
1206 auto& section = image_header->GetImageSection(section_idx);
1208 << reinterpret_cast<void*>(image_header->GetImageBegin() + section.Offset()) << " "
1213 const auto& bitmap_section = image_header->GetImageSection(ImageHeader::kSectionImageBitmap);
1216 const size_t image_bitmap_offset = RoundUp(sizeof(ImageHeader) + image_header->GetDataSize(),
1228 std::vector<uint8_t*> addresses(1, image_header->GetImageBegin());
1229 if (image_header->IsPic()) {
1242 const ImageHeader::StorageMode storage_mode = image_header->GetStorageMode();
1245 image_header->GetImageSize(),
1264 image_header->GetImageSize(),
1270 const size_t stored_size = image_header->GetDataSize();
1284 memcpy(map->Begin(), image_header, sizeof(ImageHeader));
1294 if (decompressed_size + sizeof(ImageHeader) != image_header->GetImageSize()) {
1298 image_header->GetImageSize());
1313 DCHECK_EQ(0, memcmp(image_header, map->Begin(), sizeof(ImageHeader)));
1330 image_header = reinterpret_cast<ImageHeader*>(map->Begin());
1336 const ImageSection& image_objects = image_header->GetImageSection(ImageHeader::kSectionObjects);
1355 if (!RelocateInPlace(*image_header,
1399 CHECK_EQ(oat_file != nullptr, image_header->IsAppImage());
1400 if (image_header->IsAppImage()) {
1402 image_header->GetImageMethod(ImageHeader::kResolutionMethod));
1404 image_header->GetImageMethod(ImageHeader::kImtConflictMethod));
1406 image_header->GetImageMethod(ImageHeader::kImtUnimplementedMethod));
1408 image_header->GetImageMethod(ImageHeader::kCalleeSaveMethod));
1410 image_header->GetImageMethod(ImageHeader::kRefsOnlySaveMethod));
1412 image_header->GetImageMethod(ImageHeader::kRefsAndArgsSaveMethod));
1415 runtime->SetResolutionMethod(image_header->GetImageMethod(ImageHeader::kResolutionMethod));
1416 runtime->SetImtConflictMethod(image_header->GetImageMethod(ImageHeader::kImtConflictMethod));
1418 image_header->GetImageMethod(ImageHeader::kImtUnimplementedMethod));
1420 image_header->GetImageMethod(ImageHeader::kCalleeSaveMethod), Runtime::kSaveAll);
1422 image_header->GetImageMethod(ImageHeader::kRefsOnlySaveMethod), Runtime::kRefsOnly);
1424 image_header->GetImageMethod(ImageHeader::kRefsAndArgsSaveMethod), Runtime::kRefsAndArgs);
1435 const ImageHeader& image_header = GetImageHeader();
1438 CHECK(image_header.GetOatDataBegin() != nullptr);
1442 image_header.GetOatDataBegin(),
1443 image_header.GetOatFileBegin(),
1454 uint32_t image_oat_checksum = image_header.GetOatChecksum();
1460 int32_t image_patch_delta = image_header.GetPatchDelta();
1462 if (oat_patch_delta != image_patch_delta && !image_header.CompilePic()) {