* src/vm/jit/x86_64/md.c (md_signal_handler_sigusr2): Fixed comment.
[cacao.git] / src / vm / string.c
index 7259258de59d3b364b1128b385d108628db11110..b6b075175ed7987686ea870dbe702c09edf43712 100644 (file)
@@ -31,7 +31,7 @@
    Changes: Christian Thalinger
                        Edwin Steiner
 
-   $Id: string.c 4921 2006-05-15 14:24:36Z twisti $
+   $Id: string.c 5123 2006-07-12 21:45:34Z twisti $
 
 */
 
 
 #include "mm/memory.h"
 #include "native/include/java_lang_String.h"
+
+#if defined(ENABLE_THREADS)
+# include "threads/native/lock.h"
+#else
+# include "threads/none/lock.h"
+#endif
+
+#include "vm/builtin.h"
 #include "vm/exceptions.h"
 #include "vm/loader.h"
 #include "vm/options.h"
@@ -521,11 +529,12 @@ char *javastring_tochar(java_objectheader *so)
 
 *******************************************************************************/
 
-utf *javastring_toutf(java_lang_String *string, bool isclassname)
+utf *javastring_toutf(java_lang_String *s, bool isclassname)
 {
-       java_lang_String *str = (java_lang_String *) string;
+       if (s == NULL)
+               return utf_null;
 
-       return utf_new_u2(str->value->data + str->offset, str->count, isclassname);
+       return utf_new_u2(s->value->data + s->offset, s->count, isclassname);
 }
 
 
@@ -537,7 +546,7 @@ utf *javastring_toutf(java_lang_String *string, bool isclassname)
 
 s4 javastring_strlen(java_lang_String *s)
 {
-       if (!s)
+       if (s == NULL)
                return 0;
 
        return s->count;
@@ -563,9 +572,7 @@ java_objectheader *literalstring_u2(java_chararray *a, u4 length, u4 offset,
     u4                slot;
     u2                i;
 
-#if defined(ENABLE_THREADS)
-       builtin_monitorenter(lock_hashtable_string);
-#endif
+       LOCK_MONITOR_ENTER(lock_hashtable_string);
 
     /* find location in hashtable */
 
@@ -588,9 +595,7 @@ java_objectheader *literalstring_u2(java_chararray *a, u4 length, u4 offset,
                        if (!copymode)
                                mem_free(a, sizeof(java_chararray) + sizeof(u2) * (length - 1) + 10);
 
-#if defined(ENABLE_THREADS)
-                       builtin_monitorexit(lock_hashtable_string);
-#endif
+                       LOCK_MONITOR_EXIT(lock_hashtable_string);
 
                        return (java_objectheader *) js;
                }
@@ -624,7 +629,7 @@ java_objectheader *literalstring_u2(java_chararray *a, u4 length, u4 offset,
        /* if we use eager loading, we have to check loaded String class */
 
        if (opt_eager)
-               list_addfirst(&unlinkedclasses, class_java_lang_String);
+               list_add_first(&unlinkedclasses, class_java_lang_String);
 
        /* create new javastring */
 
@@ -691,9 +696,7 @@ java_objectheader *literalstring_u2(java_chararray *a, u4 length, u4 offset,
                hashtable_string = newhash;
        }
 
-#if defined(ENABLE_THREADS)
-       builtin_monitorexit(lock_hashtable_string);
-#endif
+       LOCK_MONITOR_EXIT(lock_hashtable_string);
 
        return (java_objectheader *) js;
 }