summaryrefslogtreecommitdiffstats
path: root/runtime/well_known_classes.h
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2013-07-30 01:26:50 -0700
committerIan Rogers <irogers@google.com>2013-08-13 18:09:46 -0700
commitea46f950e7a51585db293cd7f047de190a482414 (patch)
tree9dddc8073547a2dcb58a19e1728932a89cb149c3 /runtime/well_known_classes.h
parent5e3572709b5a5d59957f835db4f73760ecef08da (diff)
downloadart-ea46f950e7a51585db293cd7f047de190a482414.zip
art-ea46f950e7a51585db293cd7f047de190a482414.tar.gz
art-ea46f950e7a51585db293cd7f047de190a482414.tar.bz2
Refactor java.lang.reflect implementation
Cherry-picked from commit ed41d5c44299ec5d44b8514f6e17f802f48094d1. Move to ArtMethod/Field instead of AbstractMethod/Field and have java.lang.reflect APIs delegate to ArtMethod/ArtField. Bug: 10014286. Change-Id: Iafc1d8c5b62562c9af8fb9fd8c5e1d61270536e7
Diffstat (limited to 'runtime/well_known_classes.h')
-rw-r--r--runtime/well_known_classes.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/runtime/well_known_classes.h b/runtime/well_known_classes.h
index fc2bffb..bc928d0 100644
--- a/runtime/well_known_classes.h
+++ b/runtime/well_known_classes.h
@@ -32,7 +32,7 @@ class Class;
jmethodID CacheMethod(JNIEnv* env, jclass c, bool is_static, const char* name, const char* signature);
struct WellKnownClasses {
- static void InitClasses(JNIEnv* env);
+ public:
static void Init(JNIEnv* env); // Run before native methods are registered.
static void LateInit(JNIEnv* env); // Run after native methods are registered.
@@ -46,8 +46,11 @@ struct WellKnownClasses {
static jclass java_lang_Daemons;
static jclass java_lang_Error;
static jclass java_lang_Object;
- static jclass java_lang_reflect_InvocationHandler;
static jclass java_lang_reflect_AbstractMethod;
+ static jclass java_lang_reflect_ArtMethod;
+ static jclass java_lang_reflect_Constructor;
+ static jclass java_lang_reflect_Field;
+ static jclass java_lang_reflect_Method;
static jclass java_lang_reflect_Proxy;
static jclass java_lang_RuntimeException;
static jclass java_lang_StackOverflowError;
@@ -75,7 +78,7 @@ struct WellKnownClasses {
static jmethodID java_lang_Long_valueOf;
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_reflect_Proxy_invoke;
static jmethodID java_lang_Runtime_nativeLoad;
static jmethodID java_lang_Short_valueOf;
static jmethodID java_lang_System_runFinalization;
@@ -87,6 +90,8 @@ struct WellKnownClasses {
static jmethodID org_apache_harmony_dalvik_ddmc_DdmServer_broadcast;
static jmethodID org_apache_harmony_dalvik_ddmc_DdmServer_dispatch;
+ static jfieldID java_lang_reflect_AbstractMethod_artMethod;
+ static jfieldID java_lang_reflect_Field_artField;
static jfieldID java_lang_reflect_Proxy_h;
static jfieldID java_lang_Thread_daemon;
static jfieldID java_lang_Thread_group;