arm: Fix LoadClass/BssEntry{Public,Package}
Also update oatdump to list the new entries.
Test: testrunner.py --target --32 --optimizing -t 727
Bug: 161898207
Change-Id: I34b400531498cfac3c9606fa82b0894841054457
diff --git a/compiler/optimizing/code_generator_arm_vixl.cc b/compiler/optimizing/code_generator_arm_vixl.cc
index 9aefdab..0940f42 100644
--- a/compiler/optimizing/code_generator_arm_vixl.cc
+++ b/compiler/optimizing/code_generator_arm_vixl.cc
@@ -9279,7 +9279,7 @@
LOG(FATAL) << "Unexpected load kind: " << load_class->GetLoadKind();
UNREACHABLE();
}
- return NewPcRelativePatch(&dex_file, type_index.index_, &type_bss_entry_patches_);
+ return NewPcRelativePatch(&dex_file, type_index.index_, patches);
}
CodeGeneratorARMVIXL::PcRelativePatchInfo* CodeGeneratorARMVIXL::NewBootImageStringPatch(
diff --git a/oatdump/oatdump.cc b/oatdump/oatdump.cc
index 103f60f..02636e2 100644
--- a/oatdump/oatdump.cc
+++ b/oatdump/oatdump.cc
@@ -542,6 +542,20 @@
[=](uint32_t index) { return dex_file->PrettyType(dex::TypeIndex(index)); });
DumpBssEntries(
os,
+ "Public Class",
+ oat_dex_file->GetPublicTypeBssMapping(),
+ dex_file->NumTypeIds(),
+ sizeof(GcRoot<mirror::Class>),
+ [=](uint32_t index) { return dex_file->PrettyType(dex::TypeIndex(index)); });
+ DumpBssEntries(
+ os,
+ "Package Class",
+ oat_dex_file->GetPackageTypeBssMapping(),
+ dex_file->NumTypeIds(),
+ sizeof(GcRoot<mirror::Class>),
+ [=](uint32_t index) { return dex_file->PrettyType(dex::TypeIndex(index)); });
+ DumpBssEntries(
+ os,
"String",
oat_dex_file->GetStringBssMapping(),
dex_file->NumStringIds(),