Implement proxy stub for compiler_llvm.

Change-Id: Id8ba59c62795d885a18b3cc634e7ef370a2d2f97
diff --git a/src/object.h b/src/object.h
index f5970f6..e787933 100644
--- a/src/object.h
+++ b/src/object.h
@@ -861,6 +861,22 @@
     return OFFSET_OF_OBJECT_MEMBER(Method, invoke_stub_);
   }
 
+#if defined(ART_USE_LLVM_COMPILER)
+  // Proxy stub entry point
+  const void* GetProxyStub() const {
+    // NOTE: LLVM doesn't use vmap table, so we reuse it for proxy stub.
+    const void* result = GetFieldPtr<const void*>(
+        OFFSET_OF_OBJECT_MEMBER(Method, vmap_table_), false);
+    // TODO: DCHECK(result != NULL);  should be ahead of time compiled
+    return result;
+  }
+
+  void SetProxyStub(const void* proxy_stub) {
+    SetFieldPtr<const void*>(OFFSET_OF_OBJECT_MEMBER(Method, vmap_table_),
+                             proxy_stub, false);
+  }
+#endif
+
   static MemberOffset GetMethodIndexOffset() {
     return OFFSET_OF_OBJECT_MEMBER(Method, method_index_);
   }