summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dex2oat/linker/image_writer.cc8
-rw-r--r--imgdiag/imgdiag.cc3
2 files changed, 8 insertions, 3 deletions
diff --git a/dex2oat/linker/image_writer.cc b/dex2oat/linker/image_writer.cc
index d8973d4eda..ecf4350f50 100644
--- a/dex2oat/linker/image_writer.cc
+++ b/dex2oat/linker/image_writer.cc
@@ -681,8 +681,12 @@ ImageWriter::Bin ImageWriter::AssignImageBinSlot(mirror::Object* object, size_t
// Move known dirty objects into their own sections. This includes:
// - classes with dirty static fields.
- if (dirty_image_objects_ != nullptr &&
- dirty_image_objects_->find(klass->PrettyDescriptor()) != dirty_image_objects_->end()) {
+ auto is_dirty = [&](ObjPtr<mirror::Class> k) REQUIRES_SHARED(Locks::mutator_lock_) {
+ std::string temp;
+ std::string_view descriptor = k->GetDescriptor(&temp);
+ return dirty_image_objects_->find(descriptor) != dirty_image_objects_->end();
+ };
+ if (dirty_image_objects_ != nullptr && is_dirty(klass)) {
bin = Bin::kKnownDirty;
} else if (klass->GetStatus() == ClassStatus::kVisiblyInitialized) {
bin = Bin::kClassInitialized;
diff --git a/imgdiag/imgdiag.cc b/imgdiag/imgdiag.cc
index 94ac8a8e03..e8f4d05f10 100644
--- a/imgdiag/imgdiag.cc
+++ b/imgdiag/imgdiag.cc
@@ -514,7 +514,8 @@ class RegionSpecializedBase<mirror::Object> : public RegionCommon<mirror::Object
void DumpDirtyObjects() REQUIRES_SHARED(Locks::mutator_lock_) {
for (mirror::Object* obj : dirty_objects_) {
if (obj->IsClass()) {
- os_ << "Private dirty object: " << obj->AsClass()->PrettyDescriptor() << "\n";
+ std::string temp;
+ os_ << "Private dirty object: " << obj->AsClass()->GetDescriptor(&temp) << "\n";
}
}
}