Move the thread.cc Class*/Field*/Method* caching over to WellKnownClasses.
Just heap.cc left to do, plus maybe some of the less convincing ClassLinker
roots.
Change-Id: Ib8adf3e28e00025e0c016dcd8d7b17e42f96796c
diff --git a/src/well_known_classes.h b/src/well_known_classes.h
index 5d45938..613c47e 100644
--- a/src/well_known_classes.h
+++ b/src/well_known_classes.h
@@ -21,6 +21,8 @@
namespace art {
+class Class;
+
// Various classes used in JNI. We cache them so we don't have to keep looking
// them up. Similar to libcore's JniConstants (except there's no overlap, so
// we keep them separate).
@@ -28,6 +30,8 @@
struct WellKnownClasses {
static void Init(JNIEnv* env);
+ static Class* ToClass(jclass global_jclass);
+
static jclass com_android_dex_Dex;
static jclass java_lang_ClassLoader;
static jclass java_lang_ClassNotFoundException;
@@ -39,6 +43,9 @@
static jclass java_lang_reflect_Proxy;
static jclass java_lang_reflect_UndeclaredThrowableException;
static jclass java_lang_Thread;
+ static jclass java_lang_ThreadGroup;
+ static jclass java_lang_ThreadLock;
+ static jclass java_lang_Thread$UncaughtExceptionHandler;
static jclass java_nio_ReadWriteDirectByteBuffer;
static jclass org_apache_harmony_dalvik_ddmc_Chunk;
static jclass org_apache_harmony_dalvik_ddmc_DdmServer;
@@ -49,11 +56,25 @@
static jmethodID java_lang_Daemons_start;
static jmethodID java_lang_reflect_InvocationHandler_invoke;
static jmethodID java_lang_Thread_init;
+ static jmethodID java_lang_Thread_run;
+ static jmethodID java_lang_Thread$UncaughtExceptionHandler_uncaughtException;
+ static jmethodID java_lang_ThreadGroup_removeThread;
static jmethodID java_nio_ReadWriteDirectByteBuffer_init;
static jmethodID org_apache_harmony_dalvik_ddmc_DdmServer_broadcast;
static jmethodID org_apache_harmony_dalvik_ddmc_DdmServer_dispatch;
static jfieldID java_lang_reflect_Proxy_h;
+ static jfieldID java_lang_Thread_daemon;
+ static jfieldID java_lang_Thread_group;
+ static jfieldID java_lang_Thread_lock;
+ static jfieldID java_lang_Thread_name;
+ static jfieldID java_lang_Thread_priority;
+ static jfieldID java_lang_Thread_uncaughtHandler;
+ static jfieldID java_lang_Thread_vmData;
+ static jfieldID java_lang_ThreadGroup_mainThreadGroup;
+ static jfieldID java_lang_ThreadGroup_name;
+ static jfieldID java_lang_ThreadGroup_systemThreadGroup;
+ static jfieldID java_lang_ThreadLock_thread;
static jfieldID java_nio_ReadWriteDirectByteBuffer_capacity;
static jfieldID java_nio_ReadWriteDirectByteBuffer_effectiveDirectAddress;
static jfieldID org_apache_harmony_dalvik_ddmc_Chunk_data;