/* src/native/vm/gnu/java_lang_VMObject.c - java/lang/VMObject
- Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
+ Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel,
C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
J. Wenninger, Institut f. Computersprachen - TU Wien
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Contact: cacao@cacaojvm.org
-
- Authors: Roman Obermaiser
- Joseph Wenninger
- Christian Thalinger
-
- $Id: java_lang_VMObject.c 6221 2006-12-21 15:56:38Z twisti $
+ $Id: java_lang_VMObject.c 7912 2007-05-18 13:12:09Z twisti $
*/
#include "vm/types.h"
#include "native/jni.h"
-#include "native/include/java_lang_Class.h"
-#include "native/include/java_lang_Cloneable.h"
-#include "native/include/java_lang_Object.h"
+#include "native/native.h"
+
+#include "native/include/java_lang_Class.h" /* required by j.l.VMO */
+#include "native/include/java_lang_Cloneable.h" /* required by j.l.VMO */
+#include "native/include/java_lang_Object.h" /* required by j.l.VMO */
+
+#include "native/include/java_lang_VMObject.h"
+
#include "native/vm/java_lang_Object.h"
+/* native methods implemented by this file ************************************/
+
+static JNINativeMethod methods[] = {
+ { "getClass", "(Ljava/lang/Object;)Ljava/lang/Class;", (void *) (ptrint) &Java_java_lang_VMObject_getClass },
+ { "clone", "(Ljava/lang/Cloneable;)Ljava/lang/Object;", (void *) (ptrint) &Java_java_lang_VMObject_clone },
+ { "notify", "(Ljava/lang/Object;)V", (void *) (ptrint) &Java_java_lang_VMObject_notify },
+ { "notifyAll", "(Ljava/lang/Object;)V", (void *) (ptrint) &Java_java_lang_VMObject_notifyAll },
+ { "wait", "(Ljava/lang/Object;JI)V", (void *) (ptrint) &Java_java_lang_VMObject_wait },
+};
+
+
+/* _Jv_java_lang_VMObject_init *************************************************
+
+ Register native functions.
+
+*******************************************************************************/
+
+void _Jv_java_lang_VMObject_init(void)
+{
+ utf *u;
+
+ u = utf_new_char("java/lang/VMObject");
+
+ native_method_register(u, methods, NATIVE_METHODS_COUNT);
+}
+
+
/*
* Class: java/lang/VMObject
* Method: getClass
/*
* Class: java/lang/VMObject
* Method: notify
- * Signature: ()V
+ * Signature: (Ljava/lang/Object;)V
*/
JNIEXPORT void JNICALL Java_java_lang_VMObject_notify(JNIEnv *env, jclass clazz, java_lang_Object *this)
{
/*
* Class: java/lang/VMObject
* Method: notifyAll
- * Signature: ()V
+ * Signature: (Ljava/lang/Object;)V
*/
JNIEXPORT void JNICALL Java_java_lang_VMObject_notifyAll(JNIEnv *env, jclass clazz, java_lang_Object *this)
{