Merged revisions 7797-7917 via svnmerge from
[cacao.git] / src / native / vm / gnu / java_lang_VMObject.c
index 010c18a52c99fca353e7fde8480b00ec24a036cc..c0f089cf57e57f55739a537ff2d71ea34a195477 100644 (file)
@@ -1,6 +1,6 @@
 /* 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
@@ -68,7 +94,7 @@ JNIEXPORT java_lang_Object* JNICALL Java_java_lang_VMObject_clone(JNIEnv *env, j
 /*
  * 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)
 {
@@ -79,7 +105,7 @@ JNIEXPORT void JNICALL Java_java_lang_VMObject_notify(JNIEnv *env, jclass clazz,
 /*
  * 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)
 {