summaryrefslogtreecommitdiffstats
path: root/runtime/native/java_lang_ref_Reference.cc
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-09-09 13:51:09 -0700
committerMathieu Chartier <mathieuc@google.com>2014-09-09 13:51:09 -0700
commitcd48f2d86197d4fe87cc88077bc4af5ba66e5295 (patch)
treea678a9eafd72d80cb6d7581b99cc11bc9cf64911 /runtime/native/java_lang_ref_Reference.cc
parent5bc47ebe278af65e8e2a2d6b603ac94a020285f7 (diff)
downloadandroid_art-cd48f2d86197d4fe87cc88077bc4af5ba66e5295.tar.gz
android_art-cd48f2d86197d4fe87cc88077bc4af5ba66e5295.tar.bz2
android_art-cd48f2d86197d4fe87cc88077bc4af5ba66e5295.zip
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
Diffstat (limited to 'runtime/native/java_lang_ref_Reference.cc')
-rw-r--r--runtime/native/java_lang_ref_Reference.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/native/java_lang_ref_Reference.cc b/runtime/native/java_lang_ref_Reference.cc
index f221ac60f5..4f04d60232 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 jobject Reference_get(JNIEnv* env, jobject javaThis) {
}
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) {