Change Reference.get() intrinsic to Reference.getReferent().

The reference intrinsic was incorrectly inlining
PhantomReference.get(). We now get around this by adding a
layer of indirection. Reference.get() now calls getReferent()
which is intrinsified and inlined.

Requires:
https://android-review.googlesource.com/#/c/107100/

Bug: 17429865
Change-Id: Ie91e70abf43cedf3c707c7bb8a5059e19d2a2577
diff --git a/runtime/native/java_lang_ref_Reference.cc b/runtime/native/java_lang_ref_Reference.cc
index f221ac6..4f04d60 100644
--- a/runtime/native/java_lang_ref_Reference.cc
+++ b/runtime/native/java_lang_ref_Reference.cc
@@ -23,7 +23,7 @@
 
 namespace art {
 
-static jobject Reference_get(JNIEnv* env, jobject javaThis) {
+static jobject Reference_getReferent(JNIEnv* env, jobject javaThis) {
   ScopedFastNativeObjectAccess soa(env);
   mirror::Reference* const ref = soa.Decode<mirror::Reference*>(javaThis);
   mirror::Object* const referent =
@@ -32,7 +32,7 @@
 }
 
 static JNINativeMethod gMethods[] = {
-  NATIVE_METHOD(Reference, get, "!()Ljava/lang/Object;"),
+  NATIVE_METHOD(Reference, getReferent, "!()Ljava/lang/Object;"),
 };
 
 void register_java_lang_ref_Reference(JNIEnv* env) {