ART: Use ObjPtr for GetSuperClass

Bug: 37224696
Test: mmma art
Test: m test-art-host
Change-Id: If55db6e26bb1bb05a13c59b849bed17839fca6cf
diff --git a/compiler/debug/elf_debug_info_writer.h b/compiler/debug/elf_debug_info_writer.h
index fe05992..bb550b3 100644
--- a/compiler/debug/elf_debug_info_writer.h
+++ b/compiler/debug/elf_debug_info_writer.h
@@ -372,10 +372,10 @@
         }
 
         // Base class.
-        mirror::Class* base_class = type->GetSuperClass();
+        ObjPtr<mirror::Class> base_class = type->GetSuperClass();
         if (base_class != nullptr) {
           info_.StartTag(DW_TAG_inheritance);
-          base_class_references.emplace(info_.size(), base_class);
+          base_class_references.emplace(info_.size(), base_class.Ptr());
           info_.WriteRef4(DW_AT_type, 0);
           info_.WriteUdata(DW_AT_data_member_location, 0);
           info_.WriteSdata(DW_AT_accessibility, DW_ACCESS_public);
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc
index c5416d5..a32de29 100644
--- a/compiler/driver/compiler_driver.cc
+++ b/compiler/driver/compiler_driver.cc
@@ -1146,7 +1146,7 @@
     if (klass->IsArrayClass()) {
       MaybeAddToImageClasses(self, klass->GetComponentType(), image_classes);
     }
-    klass.Assign(klass->GetSuperClass());
+    klass = klass->GetSuperClass();
   }
 }