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/thread.h b/runtime/thread.h
index 8b6771e..b9b93dd 100644
--- a/runtime/thread.h
+++ b/runtime/thread.h
@@ -45,7 +45,7 @@
 namespace art {
 
 namespace mirror {
-  class AbstractMethod;
+  class ArtMethod;
   class Array;
   class Class;
   class ClassLoader;
@@ -318,13 +318,13 @@
     long_jump_context_ = context;
   }
 
-  mirror::AbstractMethod* GetCurrentMethod(uint32_t* dex_pc) const
+  mirror::ArtMethod* GetCurrentMethod(uint32_t* dex_pc) const
       SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
 
   ThrowLocation GetCurrentLocationForThrow() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
 
   void SetTopOfStack(void* stack, uintptr_t pc) {
-    mirror::AbstractMethod** top_method = reinterpret_cast<mirror::AbstractMethod**>(stack);
+    mirror::ArtMethod** top_method = reinterpret_cast<mirror::ArtMethod**>(stack);
     managed_stack_.SetTopQuickFrame(top_method);
     managed_stack_.SetTopQuickFramePc(pc);
   }