diff options
Diffstat (limited to 'vm/native/java_lang_String.c')
-rw-r--r-- | vm/native/java_lang_String.c | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/vm/native/java_lang_String.c b/vm/native/java_lang_String.c index b3cb7ec82..38f9e3161 100644 --- a/vm/native/java_lang_String.c +++ b/vm/native/java_lang_String.c @@ -20,23 +20,50 @@ #include "Dalvik.h" #include "native/InternalNativePriv.h" +static void String_charAt(const u4* args, JValue* pResult) +{ + MAKE_INTRINSIC_TRAMPOLINE(javaLangString_charAt); +} -/* - * public String intern() - * - * Intern a string in the VM string table. - */ -static void Dalvik_java_lang_String_intern(const u4* args, JValue* pResult) +static void String_compareTo(const u4* args, JValue* pResult) { - StringObject* str = (StringObject*) args[0]; - StringObject* interned; + MAKE_INTRINSIC_TRAMPOLINE(javaLangString_compareTo); +} - interned = dvmLookupInternedString(str); +static void String_equals(const u4* args, JValue* pResult) +{ + MAKE_INTRINSIC_TRAMPOLINE(javaLangString_equals); +} + +static void String_fastIndexOf(const u4* args, JValue* pResult) +{ + MAKE_INTRINSIC_TRAMPOLINE(javaLangString_fastIndexOf_II); +} + +static void String_intern(const u4* args, JValue* pResult) +{ + StringObject* str = (StringObject*) args[0]; + StringObject* interned = dvmLookupInternedString(str); RETURN_PTR(interned); } +static void String_isEmpty(const u4* args, JValue* pResult) +{ + MAKE_INTRINSIC_TRAMPOLINE(javaLangString_isEmpty); +} + +static void String_length(const u4* args, JValue* pResult) +{ + MAKE_INTRINSIC_TRAMPOLINE(javaLangString_length); +} + const DalvikNativeMethod dvm_java_lang_String[] = { - { "intern", "()Ljava/lang/String;", - Dalvik_java_lang_String_intern }, + { "charAt", "(I)C", String_charAt }, + { "compareTo", "(Ljava/lang/String;)I", String_compareTo }, + { "equals", "(Ljava/lang/Object;)Z", String_equals }, + { "fastIndexOf", "(II)I", String_fastIndexOf }, + { "intern", "()Ljava/lang/String;", String_intern }, + { "isEmpty", "()Z", String_isEmpty }, + { "length", "()I", String_length }, { NULL, NULL, NULL }, }; |