* main: Removed log_cputime call.
[cacao.git] / src / vm / utf8.c
index eb7fb5131b4a0b2b10591206e2b36f11813f66b4..6d60e8b07120a73f0983fb9362044e3565d8ce84 100644 (file)
@@ -30,7 +30,7 @@
             Andreas Krall
             Christian Thalinger
 
-   $Id: utf8.c 2148 2005-03-30 16:49:40Z twisti $
+   $Id: utf8.c 2741 2005-06-20 09:57:14Z twisti $
 
 */
 
@@ -41,6 +41,7 @@
 #include "vm/exceptions.h"
 #include "vm/options.h"
 #include "vm/statistics.h"
+#include "vm/stringlocal.h"
 #include "vm/tables.h"
 #include "vm/utf8.h"
 
@@ -58,13 +59,16 @@ utf *utf_java_lang_Cloneable;
 utf *utf_java_lang_SecurityManager;
 utf *utf_java_lang_String;
 utf *utf_java_lang_System;
+utf *utf_java_lang_ThreadGroup;
 utf *utf_java_io_Serializable;
 
 utf *utf_java_lang_Throwable;
 utf *utf_java_lang_VMThrowable;
-utf *utf_java_lang_Exception;
 utf *utf_java_lang_Error;
+utf *utf_java_lang_Exception;
+utf *utf_java_lang_NoClassDefFoundError;
 utf *utf_java_lang_OutOfMemoryError;
+utf *utf_java_lang_ClassNotFoundException;
 
 utf* utf_java_lang_Void;
 utf* utf_java_lang_Boolean;
@@ -76,6 +80,10 @@ utf* utf_java_lang_Long;
 utf* utf_java_lang_Float;
 utf* utf_java_lang_Double;
 
+utf *utf_java_lang_StackTraceElement;
+utf *utf_java_lang_reflect_Constructor;
+utf *utf_java_lang_reflect_Field;
+utf *utf_java_lang_reflect_Method;
 utf *utf_java_util_Vector;
 
 utf *utf_InnerClasses;                  /* InnerClasses                       */
@@ -87,11 +95,14 @@ utf *utf_SourceFile;                    /* SourceFile                         */
 
 utf *utf_init;                          /* <init>                             */
 utf *utf_clinit;                        /* <clinit>                           */
+utf *utf_clone;                         /* clone                              */
 utf *utf_finalize;                      /* finalize                           */
+utf *utf_run;                           /* run                                */
 
-utf *utf_printStackTrace;
 utf *utf_fillInStackTrace;
+utf *utf_getSystemClassLoader;
 utf *utf_loadClass;
+utf *utf_printStackTrace;
 
 utf *utf_void__void;                    /* ()V                                */
 utf *utf_boolean__void;                 /* (Z)V                               */
@@ -102,12 +113,16 @@ utf *utf_int__void;                     /* (I)V                               */
 utf *utf_long__void;                    /* (J)V                               */
 utf *utf_float__void;                   /* (F)V                               */
 utf *utf_double__void;                  /* (D)V                               */
+
+utf *utf_void__java_lang_ClassLoader;   /* ()Ljava/lang/ClassLoader;          */
 utf *utf_void__java_lang_Object;        /* ()Ljava/lang/Object;               */
 utf *utf_void__java_lang_Throwable;     /* ()Ljava/lang/Throwable;            */
 utf *utf_java_lang_String__void;        /* (Ljava/lang/String;)V              */
 utf *utf_java_lang_String__java_lang_Class;
 utf *utf_java_lang_Throwable__void;     /* (Ljava/lang/Throwable;)V           */
 
+utf *utf_not_named_yet;                 /* special name for unnamed classes   */
+
 utf *array_packagename;
 
 
@@ -129,13 +144,22 @@ void utf8_init(void)
        utf_java_lang_SecurityManager  = utf_new_char("java/lang/SecurityManager");
        utf_java_lang_String           = utf_new_char("java/lang/String");
        utf_java_lang_System           = utf_new_char("java/lang/System");
+       utf_java_lang_ThreadGroup      = utf_new_char("java/lang/ThreadGroup");
        utf_java_io_Serializable       = utf_new_char("java/io/Serializable");
 
-       utf_java_lang_Throwable        = utf_new_char("java/lang/Throwable");
-       utf_java_lang_VMThrowable      = utf_new_char("java/lang/VMThrowable");
-       utf_java_lang_Exception        = utf_new_char("java/lang/Exception");
-       utf_java_lang_Error            = utf_new_char("java/lang/Error");
-       utf_java_lang_OutOfMemoryError = utf_new_char("java/lang/OutOfMemoryError");
+       utf_java_lang_Throwable        = utf_new_char(string_java_lang_Throwable);
+       utf_java_lang_VMThrowable      = utf_new_char(string_java_lang_VMThrowable);
+       utf_java_lang_Error            = utf_new_char(string_java_lang_Error);
+       utf_java_lang_Exception        = utf_new_char(string_java_lang_Exception);
+
+       utf_java_lang_NoClassDefFoundError =
+               utf_new_char(string_java_lang_NoClassDefFoundError);
+
+       utf_java_lang_OutOfMemoryError =
+               utf_new_char(string_java_lang_OutOfMemoryError);
+
+       utf_java_lang_ClassNotFoundException =
+               utf_new_char(string_java_lang_ClassNotFoundException);
 
        utf_java_lang_Void             = utf_new_char("java/lang/Void");
        utf_java_lang_Boolean          = utf_new_char("java/lang/Boolean");
@@ -147,6 +171,14 @@ void utf8_init(void)
        utf_java_lang_Float            = utf_new_char("java/lang/Float");
        utf_java_lang_Double           = utf_new_char("java/lang/Double");
 
+       utf_java_lang_StackTraceElement =
+               utf_new_char("java/lang/StackTraceElement");
+
+       utf_java_lang_reflect_Constructor =
+               utf_new_char("java/lang/reflect/Constructor");
+
+       utf_java_lang_reflect_Field    = utf_new_char("java/lang/reflect/Field");
+       utf_java_lang_reflect_Method   = utf_new_char("java/lang/reflect/Method");
        utf_java_util_Vector           = utf_new_char("java/util/Vector");
 
        utf_InnerClasses               = utf_new_char("InnerClasses");
@@ -158,11 +190,14 @@ void utf8_init(void)
 
        utf_init                           = utf_new_char("<init>");
        utf_clinit                         = utf_new_char("<clinit>");
+       utf_clone                      = utf_new_char("clone");
        utf_finalize                   = utf_new_char("finalize");
+       utf_run                        = utf_new_char("run");
 
        utf_printStackTrace            = utf_new_char("printStackTrace");
        utf_fillInStackTrace           = utf_new_char("fillInStackTrace");
        utf_loadClass                  = utf_new_char("loadClass");
+       utf_getSystemClassLoader       = utf_new_char("getSystemClassLoader");
 
        utf_void__void                 = utf_new_char("()V");
        utf_boolean__void              = utf_new_char("(Z)V");
@@ -175,6 +210,10 @@ void utf8_init(void)
        utf_double__void               = utf_new_char("(D)V");
        utf_void__java_lang_Object     = utf_new_char("()Ljava/lang/Object;");
        utf_void__java_lang_Throwable  = utf_new_char("()Ljava/lang/Throwable;");
+
+       utf_void__java_lang_ClassLoader =
+               utf_new_char("()Ljava/lang/ClassLoader;");
+
        utf_java_lang_String__void     = utf_new_char("(Ljava/lang/String;)V");
 
        utf_java_lang_String__java_lang_Class =
@@ -182,6 +221,8 @@ void utf8_init(void)
 
        utf_java_lang_Throwable__void  = utf_new_char("(Ljava/lang/Throwable;)V");
 
+       utf_not_named_yet              = utf_new_char("\t<not_named_yet>");
+
        array_packagename              = utf_new_char("\t<the array package>");
 }
 
@@ -631,7 +672,7 @@ u4 utf_strlen(utf *u)
                return 0;
        }
 
-       endpos = utf_end(u);
+       endpos = UTF_END(u);
        utf_ptr = u->text;
 
        while (utf_ptr < endpos) {
@@ -695,7 +736,7 @@ void utf_display(utf *u)
                return;
        }
 
-       endpos = utf_end(u);
+       endpos = UTF_END(u);
        utf_ptr = u->text;
 
        while (utf_ptr < endpos) {
@@ -727,7 +768,7 @@ void utf_display_classname(utf *u)
                return;
        }
 
-       endpos = utf_end(u);
+       endpos = UTF_END(u);
        utf_ptr = u->text;
 
        while (utf_ptr < endpos) {
@@ -759,7 +800,7 @@ void utf_sprint(char *buffer, utf *u)
                return;
        }
 
-       endpos = utf_end(u);
+       endpos = UTF_END(u);
        utf_ptr = u->text;
 
        while (utf_ptr < endpos) 
@@ -789,7 +830,7 @@ void utf_sprint_classname(char *buffer, utf *u)
                return;
        }
 
-       endpos = utf_end(u);
+       endpos = UTF_END(u);
        utf_ptr = u->text;
 
        while (utf_ptr < endpos) {
@@ -842,7 +883,7 @@ void utf_fprint(FILE *file, utf *u)
        if (!u)
                return;
 
-       endpos = utf_end(u);
+       endpos = UTF_END(u);
        utf_ptr = u->text;
 
        while (utf_ptr < endpos) { 
@@ -869,7 +910,7 @@ void utf_fprint_classname(FILE *file, utf *u)
     if (!u)
                return;
 
-       endpos = utf_end(u);
+       endpos = UTF_END(u);
        utf_ptr = u->text;
 
        while (utf_ptr < endpos) { 
@@ -938,7 +979,7 @@ bool is_valid_utf(char *utf_ptr, char *end_pos)
                        if (v < min_codepoint[len]) { /* overlong UTF-8 */
                                if (!opt_liberalutf)
                                        fprintf(stderr,"WARNING: Overlong UTF-8 sequence found.\n");
-                               /* XXX change this to panic? */
+                               /* XXX change this to exception? */
                        }
                }
 
@@ -983,7 +1024,7 @@ bool is_valid_name(char *utf_ptr, char *end_pos)
 
 bool is_valid_name_utf(utf *u)
 {
-       return is_valid_name(u->text,utf_end(u));
+       return is_valid_name(u->text, UTF_END(u));
 }