Done?
[cacao.git] / headers.c
index 3d8c2a38007b629a284c2928749f9d1869a4a4dc..038ccffc89354849a1e185523648a8dc1dfd2178 100644 (file)
--- a/headers.c
+++ b/headers.c
@@ -30,7 +30,7 @@
             Philipp Tomsich
             Christian Thalinger
 
-   $Id: headers.c 1327 2004-07-21 14:05:43Z 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  *********/
@@ -91,13 +92,19 @@ 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_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