diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-09-09 13:51:09 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-09-09 13:51:09 -0700 |
commit | cd48f2d86197d4fe87cc88077bc4af5ba66e5295 (patch) | |
tree | a678a9eafd72d80cb6d7581b99cc11bc9cf64911 /runtime/native/java_lang_ref_Reference.cc | |
parent | 5bc47ebe278af65e8e2a2d6b603ac94a020285f7 (diff) | |
download | android_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.cc | 4 |
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) { |