Remove some SOA from JNI internal.
Remove or reduce scope of scoped object accesses in JNI internal. Turn a
PrettyMethod and string compare into a pointer comparison.
Change-Id: I6f8ac8f6a4741916769288c4d6d411c7e0f40ef4
diff --git a/src/well_known_classes.h b/src/well_known_classes.h
index 90b33c1..fd8f19b 100644
--- a/src/well_known_classes.h
+++ b/src/well_known_classes.h
@@ -30,7 +30,8 @@
struct WellKnownClasses {
static void InitClasses(JNIEnv* env);
- static void Init(JNIEnv* env);
+ static void Init(JNIEnv* env); // Run before native methods are registered.
+ static void LateInit(JNIEnv* env); // Run after native methods are registered.
static Class* ToClass(jclass global_jclass)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
@@ -71,6 +72,7 @@
static jmethodID java_lang_ref_FinalizerReference_add;
static jmethodID java_lang_ref_ReferenceQueue_add;
static jmethodID java_lang_reflect_InvocationHandler_invoke;
+ static jmethodID java_lang_Runtime_nativeLoad;
static jmethodID java_lang_Short_valueOf;
static jmethodID java_lang_Thread_init;
static jmethodID java_lang_Thread_run;