summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dalvik/src/main/java/org/apache/harmony/dalvik/NativeTestTarget.java39
-rw-r--r--dalvik/src/main/native/org_apache_harmony_dalvik_NativeTestTarget.cpp65
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));
}