Clean up art::mirror::Class::SetSuperClass.
- Move its definition from runtime/mirror/class.h to
runtime/mirror/class-inl.h.
- Prevent debug code from running in non-debug mode.
Test: test-art-host
Change-Id: I981cb9aa5c59c75c6a1c4d2145185cf8b147e2db
diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h
index c9f27ad..2ed2d87 100644
--- a/runtime/mirror/class.h
+++ b/runtime/mirror/class.h
@@ -683,14 +683,7 @@
// `This` and `klass` must be classes.
ObjPtr<Class> GetCommonSuperClass(Handle<Class> klass) REQUIRES_SHARED(Locks::mutator_lock_);
- void SetSuperClass(ObjPtr<Class> new_super_class) REQUIRES_SHARED(Locks::mutator_lock_) {
- // Super class is assigned once, except during class linker initialization.
- ObjPtr<Class> old_super_class =
- GetFieldObject<Class>(OFFSET_OF_OBJECT_MEMBER(Class, super_class_));
- DCHECK(old_super_class == nullptr || old_super_class == new_super_class);
- DCHECK(new_super_class != nullptr);
- SetFieldObject<false>(OFFSET_OF_OBJECT_MEMBER(Class, super_class_), new_super_class);
- }
+ void SetSuperClass(ObjPtr<Class> new_super_class) REQUIRES_SHARED(Locks::mutator_lock_);
bool HasSuperClass() REQUIRES_SHARED(Locks::mutator_lock_) {
return GetSuperClass() != nullptr;