From 666a1ab787f8124ca00a9ddb0985bb2fe25305a6 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Thu, 24 Sep 2020 18:39:27 +0100 Subject: Move jniGetReferent to its only user (framework). So we can better implement optimizations like caching the method ID needed for jniGetReferent. Bug: 168471625 Test: m Change-Id: I22cb6cdf8b29e8ad0a0a6b6e7a20c3491e3a65f1 --- core/jni/core_jni_helpers.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/jni/core_jni_helpers.h b/core/jni/core_jni_helpers.h index eeda275b811c..ad8aeb20ab3e 100644 --- a/core/jni/core_jni_helpers.h +++ b/core/jni/core_jni_helpers.h @@ -90,6 +90,12 @@ static inline int RegisterMethodsOrDie(JNIEnv* env, const char* className, return res; } +static inline jobject jniGetReferent(JNIEnv* env, jobject ref) { + jclass cls = FindClassOrDie(env, "java/lang/ref/Reference"); + jmethodID get = GetMethodIDOrDie(env, cls, "get", "()Ljava/lang/Object;"); + return env->CallObjectMethod(ref, get); +} + /** * Read the specified field from jobject, and convert to std::string. * If the field cannot be obtained, return defaultValue. -- cgit v1.2.3-59-g8ed1b