diff options
-rw-r--r-- | dalvik/src/main/java/org/apache/harmony/dalvik/NativeTestTarget.java | 39 | ||||
-rw-r--r-- | dalvik/src/main/native/org_apache_harmony_dalvik_NativeTestTarget.cpp | 65 |
2 files changed, 34 insertions, 70 deletions
diff --git a/dalvik/src/main/java/org/apache/harmony/dalvik/NativeTestTarget.java b/dalvik/src/main/java/org/apache/harmony/dalvik/NativeTestTarget.java index 7b46d2e69c..345eb87184 100644 --- a/dalvik/src/main/java/org/apache/harmony/dalvik/NativeTestTarget.java +++ b/dalvik/src/main/java/org/apache/harmony/dalvik/NativeTestTarget.java @@ -22,25 +22,20 @@ package org.apache.harmony.dalvik; * and performance of calling native methods. */ public final class NativeTestTarget { - /** - * This class is uninstantiable. - */ - private NativeTestTarget() { - // This space intentionally left blank. + public NativeTestTarget() { } - /** - * This is an empty native static method with no args, hooked up using - * JNI. - */ + public static native synchronized void emptyJniStaticSynchronizedMethod0(); + + public native synchronized void emptyJniSynchronizedMethod0(); + public static native void emptyJniStaticMethod0(); - /** - * This is an empty native static method with six args, hooked up using - * JNI. - */ - public static native void emptyJniStaticMethod6(int a, int b, int c, - int d, int e, int f); + public native void emptyJniMethod0(); + + public static native void emptyJniStaticMethod6(int a, int b, int c, int d, int e, int f); + + public native void emptyJniMethod6(int a, int b, int c, int d, int e, int f); /** * This is an empty native static method with six args, hooked up @@ -51,18 +46,12 @@ public final class NativeTestTarget { public static native void emptyJniStaticMethod6L(String a, String[] b, int[][] c, Object d, Object[] e, Object[][][][] f); + public native void emptyJniMethod6L(String a, String[] b, + int[][] c, Object d, Object[] e, Object[][][][] f); + /** - * This method is intended to be "inlined" by the virtual machine - * (e.g., given special treatment as an intrinsic). + * This is used to benchmark dalvik's inline natives. */ public static void emptyInlineMethod() { - // This space intentionally left blank. } - - /** - * This method is intended to be defined in native code and hooked - * up using the virtual machine's special fast-path native linkage - * (as opposed to being hooked up using JNI). - */ - public static native void emptyInternalStaticMethod(); } diff --git a/dalvik/src/main/native/org_apache_harmony_dalvik_NativeTestTarget.cpp b/dalvik/src/main/native/org_apache_harmony_dalvik_NativeTestTarget.cpp index 50e2fc2082..11735ebc19 100644 --- a/dalvik/src/main/native/org_apache_harmony_dalvik_NativeTestTarget.cpp +++ b/dalvik/src/main/native/org_apache_harmony_dalvik_NativeTestTarget.cpp @@ -14,55 +14,30 @@ * limitations under the License. */ -#include "JNIHelp.h" - -/* - * public static void emptyJniStaticMethod0() - * - * For benchmarks, a do-nothing JNI method with no arguments. - */ -static void emptyJniStaticMethod0(JNIEnv*, jclass) -{ - // This space intentionally left blank. -} +#define LOG_TAG "NativeTestTarget" -/* - * public static void emptyJniStaticMethod6(int a, int b, int c, - * int d, int e, int f) - * - * For benchmarks, a do-nothing JNI method with six arguments. - */ -static void emptyJniStaticMethod6(JNIEnv*, jclass, - int, int, int, int, int, int) -{ - // This space intentionally left blank. -} +#include "JNIHelp.h" +#include "../../../../luni/src/main/native/JniConstants.h" -/* - * public static void emptyJniStaticMethod6L(String a, String[] b, - * int[][] c, Object d, Object[] e, Object[][][][] f) - * - * For benchmarks, a do-nothing JNI method with six arguments. - */ -static void emptyJniStaticMethod6L(JNIEnv*, jclass, - jobject, jarray, jarray, jobject, jarray, jarray) -{ - // This space intentionally left blank. -} +static void NativeTestTarget_emptyJniMethod0(JNIEnv*, jobject) { } +static void NativeTestTarget_emptyJniMethod6(JNIEnv*, jclass, int, int, int, int, int, int) { } +static void NativeTestTarget_emptyJniMethod6L(JNIEnv*, jclass, jobject, jarray, jarray, jobject, jarray, jarray) { } +static void NativeTestTarget_emptyJniStaticMethod0(JNIEnv*, jclass) { } +static void NativeTestTarget_emptyJniStaticMethod6(JNIEnv*, jclass, int, int, int, int, int, int) { } +static void NativeTestTarget_emptyJniStaticMethod6L(JNIEnv*, jclass, jobject, jarray, jarray, jobject, jarray, jarray) { } +static void NativeTestTarget_emptyJniStaticSynchronizedMethod0(JNIEnv*, jclass) { } +static void NativeTestTarget_emptyJniSynchronizedMethod0(JNIEnv*, jclass) { } static JNINativeMethod gMethods[] = { - { "emptyJniStaticMethod0", "()V", (void*)emptyJniStaticMethod0 }, - { "emptyJniStaticMethod6", "(IIIIII)V", (void*)emptyJniStaticMethod6 }, - { "emptyJniStaticMethod6L", "(Ljava/lang/String;[Ljava/lang/String;[[ILjava/lang/Object;[Ljava/lang/Object;[[[[Ljava/lang/Object;)V", (void*)emptyJniStaticMethod6L }, + NATIVE_METHOD(NativeTestTarget, emptyJniMethod0, "()V"), + NATIVE_METHOD(NativeTestTarget, emptyJniMethod6, "(IIIIII)V"), + NATIVE_METHOD(NativeTestTarget, emptyJniMethod6L, "(Ljava/lang/String;[Ljava/lang/String;[[ILjava/lang/Object;[Ljava/lang/Object;[[[[Ljava/lang/Object;)V"), + NATIVE_METHOD(NativeTestTarget, emptyJniStaticMethod0, "()V"), + NATIVE_METHOD(NativeTestTarget, emptyJniStaticMethod6, "(IIIIII)V"), + NATIVE_METHOD(NativeTestTarget, emptyJniStaticMethod6L, "(Ljava/lang/String;[Ljava/lang/String;[[ILjava/lang/Object;[Ljava/lang/Object;[[[[Ljava/lang/Object;)V"), + NATIVE_METHOD(NativeTestTarget, emptyJniStaticSynchronizedMethod0, "()V"), + NATIVE_METHOD(NativeTestTarget, emptyJniSynchronizedMethod0, "()V"), }; int register_org_apache_harmony_dalvik_NativeTestTarget(JNIEnv* env) { - int result = jniRegisterNativeMethods(env, - "org/apache/harmony/dalvik/NativeTestTarget", - gMethods, NELEM(gMethods)); - if (result != 0) { - /* print warning, but allow to continue */ - ALOGW("WARNING: NativeTestTarget not registered\n"); - env->ExceptionClear(); - } - return 0; + return jniRegisterNativeMethods(env, "org/apache/harmony/dalvik/NativeTestTarget", gMethods, NELEM(gMethods)); } |