* Added 1000 static superinstructions.
[cacao.git] / src / vm / utf8.c
index 9e5915fd4e5693c50957438618e597aee6e81c98..6d60e8b07120a73f0983fb9362044e3565d8ce84 100644 (file)
@@ -30,7 +30,7 @@
             Andreas Krall
             Christian Thalinger
 
-   $Id: utf8.c 2322 2005-04-21 22:17:46Z 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"
 
@@ -79,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                       */
@@ -90,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                               */
@@ -105,6 +113,8 @@ 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              */
@@ -161,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");
@@ -172,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");
@@ -189,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 =
@@ -647,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) {
@@ -711,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) {
@@ -743,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) {
@@ -775,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) 
@@ -805,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) {
@@ -858,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) { 
@@ -885,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) { 
@@ -954,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? */
                        }
                }
 
@@ -999,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));
 }