Refactor java.lang.reflect implementation
Cherry-picked from commit ed41d5c44299ec5d44b8514f6e17f802f48094d1.
Move to ArtMethod/Field instead of AbstractMethod/Field and have
java.lang.reflect APIs delegate to ArtMethod/ArtField.
Bug: 10014286.
Change-Id: Iafc1d8c5b62562c9af8fb9fd8c5e1d61270536e7
diff --git a/runtime/gc/collector/mark_sweep-inl.h b/runtime/gc/collector/mark_sweep-inl.h
index 6b1b617..e158952 100644
--- a/runtime/gc/collector/mark_sweep-inl.h
+++ b/runtime/gc/collector/mark_sweep-inl.h
@@ -20,8 +20,8 @@
#include "gc/collector/mark_sweep.h"
#include "gc/heap.h"
+#include "mirror/art_field.h"
#include "mirror/class.h"
-#include "mirror/field.h"
#include "mirror/object_array.h"
namespace art {
@@ -136,8 +136,8 @@
? klass->NumReferenceStaticFields()
: klass->NumReferenceInstanceFields());
for (size_t i = 0; i < num_reference_fields; ++i) {
- mirror::Field* field = (is_static ? klass->GetStaticField(i)
- : klass->GetInstanceField(i));
+ mirror::ArtField* field = (is_static ? klass->GetStaticField(i)
+ : klass->GetInstanceField(i));
MemberOffset field_offset = field->GetOffset();
const mirror::Object* ref = obj->GetFieldObject<const mirror::Object*>(field_offset, false);
visitor(obj, ref, field_offset, is_static);