Some new x86_64 entries.
[cacao.git] / headers.c
index 472373536ba7e698fa0096530545aa450a318d2e..038ccffc89354849a1e185523648a8dc1dfd2178 100644 (file)
--- a/headers.c
+++ b/headers.c
@@ -30,7 +30,7 @@
             Philipp Tomsich
             Christian Thalinger
 
-   $Id: headers.c 1244 2004-06-30 20:14:20Z twisti $
+   $Id: headers.c 1368 2004-08-01 21:50:08Z stefan $
 
 */
 
@@ -49,6 +49,7 @@
 #include "toolbox/memory.h"
 #include "toolbox/logging.h"
 #include "nat/java_lang_String.h"
+#include "nat/java_lang_Throwable.h"
 
 
 /******* replace some external functions  *********/
 functionptr native_findfunction(utf *cname, utf *mname, utf *desc, bool isstatic)
 { return NULL; }
 
-java_objectheader *javastring_new(utf *text)
-{ return NULL; }
+java_objectheader *javastring_new(utf *text) { return NULL; }
+java_objectheader *javastring_new_char(char *text) { return NULL; }
 
 char *javastring_tochar(java_objectheader *so) { return NULL; }
 utf *javastring_toutf(java_lang_String *string, bool isclassname)
 { return NULL; }
 
 
-/* some exception stuff */
-
-classinfo *class_java_lang_Exception;
-
-
-char *string_java_lang_IllegalMonitorStateException =
-    "java/lang/IllegalMonitorStateException";
-
-char *string_java_lang_NegativeArraySizeException =
-    "java/lang/NegativeArraySizeException";
-
-
-char *string_java_lang_AbstractMethodError =
-    "java/lang/AbstractMethodError";
-
-char *string_java_lang_ClassCircularityError =
-    "java/lang/ClassCircularityError";
-
-char *string_java_lang_ClassFormatError =
-    "java/lang/ClassFormatError";
-
-char *string_java_lang_ExceptionInInitializerError =
-    "java/lang/ExceptionInInitializerError";
-
-char *string_java_lang_IncompatibleClassChangeError =
-    "java/lang/IncompatibleClassChangeError";
-
-char *string_java_lang_InternalError =
-    "java/lang/InternalError";
-
-char *string_java_lang_LinkageError =
-    "java/lang/LinkageError";
-
-char *string_java_lang_NoClassDefFoundError =
-    "java/lang/NoClassDefFoundError";
-
-char *string_java_lang_NoSuchFieldError =
-    "java/lang/NoSuchFieldError";
-
-char *string_java_lang_NoSuchMethodError =
-       "java/lang/NoSuchMethodError";
-
-char *string_java_lang_OutOfMemoryError =
-    "java/lang/OutOfMemoryError";
-
-
-void throw_exception() {}
-void throw_exception_exit() {}
-
-void throw_cacao_exception_exit(char *exception, char *message)
-{
-       fprintf(stderr,
-                       "Exception in thread \"main\" %s: %s\n", exception, message);
-       fflush(stderr);
-
-       /* good bye! */
-       exit(1);
-}
-
-
-void new_exception(char *classname)
-{
-       printf("Exception in thread \"main\" %s\n", classname);
-       exit(1);
-}
-
-void new_exception_message(char *classname, char *message)
-{
-       printf("Exception in thread \"main\" %s: %s\n", classname, message);
-       exit(1);
-}
-
-void new_exception_throwable(char *classname, java_objectheader *t) {}
-void new_exception_utfmessage(char *classname, utf *message)
-{
-       printf("Exception in thread \"main\" %s: ", classname);
-       utf_display(message);
-       printf("\n");
-       exit(1);
-}
+java_objectheader *native_new_and_init(classinfo *c) { return NULL; }
+java_objectheader *native_new_and_init_string(classinfo *c, java_lang_String *s) { return NULL; }
+java_objectheader *native_new_and_init_int(classinfo *c, s4 i) { return NULL; }
+java_objectheader *native_new_and_init_throwable(classinfo *c, java_lang_Throwable *t) { return NULL; }
 
 java_objectheader *literalstring_new(utf *u) { return NULL; }  
 
@@ -165,20 +90,27 @@ s8 asm_builtin_f2l(float a) { return 0; }
 s4 asm_builtin_d2i(double a) { return 0; }
 s8 asm_builtin_d2l(double a) { return 0; }
 
+void use_class_as_object() {}
 void asm_builtin_monitorenter(java_objectheader *o) {}
-void asm_builtin_monitorexit(java_objectheader *o) {}
+void *asm_builtin_monitorexit(java_objectheader *o) {}
 
-s4 asm_builtin_checkarraycast(java_objectheader *obj, vftbl *target) {return 0;}
+s4 asm_builtin_checkarraycast(java_objectheader *obj, vftbl_t *target) {return 0;}
 
 #if defined(__MIPS__)
-void atomic_swap() {}
-void compare_and_swap() {}
+long compare_and_swap(long *p, long oldval, long newval)
+{
+       if (*p == oldval) {
+               *p = newval;
+               return oldval;
+       } else
+               return *p;
+}
 #endif
 
 
 #if defined(__I386__)
 s4 asm_builtin_arrayinstanceof(java_objectheader *obj, classinfo *class) { return 0; }
-void asm_builtin_newarray(s4 size, vftbl *arrayvftbl) {}
+void asm_builtin_newarray(s4 size, vftbl_t *arrayvftbl) {}
 #endif
 
 void asm_builtin_aastore(java_objectarray *a, s4 index, java_objectheader *o) {}
@@ -205,8 +137,6 @@ int cacao_catch_Handler() {}
 threadcritnode asm_criticalsections;
 #endif
 
-java_objectheader *native_new_and_init(void *p) { return NULL; }
-
 
 /************************ global variables **********************/