Treat PhantomReferences like normal object
PhantomReferences are classes like sun.misc.Cleaner (I think that's the
only type).
This change:
* Uses Class::GetIFields() instead of Object::VisitReference() to
visit references for PhantomReferences. This way,
the `sun.misc.Cleaner.referent` field is included. This is useful for
understanding native allocation sizes.
* Avoids emitting field_ids for each PhantomReference objects. The
field_ids emitted in the types are enough (they are for normal
classes).
Tested by building, flashing, getting a perfetto heap dump of systemui
and loading into the perfetto ui at aosp/1869189
Bug: 194395971
Change-Id: Id2b5a1c80550a3d43c8b0289c198324fb327ecbc
1 file changed