diff options
author | Jeff Hao <jeffhao@google.com> | 2014-01-15 13:49:50 -0800 |
---|---|---|
committer | Jeff Hao <jeffhao@google.com> | 2015-04-27 18:54:52 -0700 |
commit | 848f70a3d73833fc1bf3032a9ff6812e429661d9 (patch) | |
tree | b0349b3a40aab5a915af491b100659a5ca9fbbf6 /runtime/well_known_classes.h | |
parent | d14438f0c5071962be7fab572b54687d32d9d087 (diff) | |
download | art-848f70a3d73833fc1bf3032a9ff6812e429661d9.zip art-848f70a3d73833fc1bf3032a9ff6812e429661d9.tar.gz art-848f70a3d73833fc1bf3032a9ff6812e429661d9.tar.bz2 |
Replace String CharArray with internal uint16_t array.
Summary of high level changes:
- Adds compiler inliner support to identify string init methods
- Adds compiler support (quick & optimizing) with new invoke code path
that calls method off the thread pointer
- Adds thread entrypoints for all string init methods
- Adds map to verifier to log when receiver of string init has been
copied to other registers. used by compiler and interpreter
Change-Id: I797b992a8feb566f9ad73060011ab6f51eb7ce01
Diffstat (limited to 'runtime/well_known_classes.h')
-rw-r--r-- | runtime/well_known_classes.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/runtime/well_known_classes.h b/runtime/well_known_classes.h index cef9d55..acb2656 100644 --- a/runtime/well_known_classes.h +++ b/runtime/well_known_classes.h @@ -35,6 +35,7 @@ struct WellKnownClasses { public: static void Init(JNIEnv* env); // Run before native methods are registered. static void LateInit(JNIEnv* env); // Run after native methods are registered. + static jmethodID StringInitToStringFactoryMethodID(jmethodID string_init); static mirror::Class* ToClass(jclass global_jclass) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); @@ -60,6 +61,7 @@ struct WellKnownClasses { static jclass java_lang_RuntimeException; static jclass java_lang_StackOverflowError; static jclass java_lang_String; + static jclass java_lang_StringFactory; static jclass java_lang_System; static jclass java_lang_Thread; static jclass java_lang_ThreadGroup; @@ -90,6 +92,38 @@ struct WellKnownClasses { static jmethodID java_lang_reflect_Proxy_invoke; static jmethodID java_lang_Runtime_nativeLoad; static jmethodID java_lang_Short_valueOf; + static jmethodID java_lang_String_init; + static jmethodID java_lang_String_init_B; + static jmethodID java_lang_String_init_BI; + static jmethodID java_lang_String_init_BII; + static jmethodID java_lang_String_init_BIII; + static jmethodID java_lang_String_init_BIIString; + static jmethodID java_lang_String_init_BString; + static jmethodID java_lang_String_init_BIICharset; + static jmethodID java_lang_String_init_BCharset; + static jmethodID java_lang_String_init_C; + static jmethodID java_lang_String_init_CII; + static jmethodID java_lang_String_init_IIC; + static jmethodID java_lang_String_init_String; + static jmethodID java_lang_String_init_StringBuffer; + static jmethodID java_lang_String_init_III; + static jmethodID java_lang_String_init_StringBuilder; + static jmethodID java_lang_StringFactory_newEmptyString; + static jmethodID java_lang_StringFactory_newStringFromBytes_B; + static jmethodID java_lang_StringFactory_newStringFromBytes_BI; + static jmethodID java_lang_StringFactory_newStringFromBytes_BII; + static jmethodID java_lang_StringFactory_newStringFromBytes_BIII; + static jmethodID java_lang_StringFactory_newStringFromBytes_BIIString; + static jmethodID java_lang_StringFactory_newStringFromBytes_BString; + static jmethodID java_lang_StringFactory_newStringFromBytes_BIICharset; + static jmethodID java_lang_StringFactory_newStringFromBytes_BCharset; + static jmethodID java_lang_StringFactory_newStringFromChars_C; + static jmethodID java_lang_StringFactory_newStringFromChars_CII; + static jmethodID java_lang_StringFactory_newStringFromChars_IIC; + static jmethodID java_lang_StringFactory_newStringFromString; + static jmethodID java_lang_StringFactory_newStringFromStringBuffer; + static jmethodID java_lang_StringFactory_newStringFromCodePoints; + static jmethodID java_lang_StringFactory_newStringFromStringBuilder; static jmethodID java_lang_System_runFinalization; static jmethodID java_lang_Thread_init; static jmethodID java_lang_Thread_run; |