* src/cacaoh/dummy.c (resolve_handle_pending_exception): New function.
[cacao.git] / src / vmcore / utf8.c
index 19b25e6d90a580f5250d89cac1714dd36731d1fa..fe2da62dbe3817e667f0a7315044cb56fe8c8345 100644 (file)
@@ -1,9 +1,7 @@
 /* src/vmcore/utf8.c - utf8 string functions
 
-   Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel,
-   C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
-   E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
-   J. Wenninger, Institut f. Computersprachen - TU Wien
+   Copyright (C) 1996-2005, 2006, 2007, 2008
+   CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
 
@@ -22,8 +20,6 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: utf8.c 8062 2007-06-11 08:12:14Z twisti $
-
 */
 
 
@@ -69,7 +65,6 @@ utf *utf_java_lang_ClassLoader;
 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_lang_ref_SoftReference;
 utf *utf_java_lang_ref_WeakReference;
@@ -96,10 +91,6 @@ utf *utf_java_lang_UnsupportedClassVersionError;
 utf *utf_java_lang_VerifyError;
 utf *utf_java_lang_VirtualMachineError;
 
-#if defined(WITH_CLASSPATH_GNU)
-utf *utf_java_lang_VMThrowable;
-#endif
-
 utf *utf_java_lang_Exception;
 
 utf *utf_java_lang_ArithmeticException;
@@ -115,6 +106,7 @@ utf *utf_java_lang_InstantiationException;
 utf *utf_java_lang_InterruptedException;
 utf *utf_java_lang_NegativeArraySizeException;
 utf *utf_java_lang_NullPointerException;
+utf *utf_java_lang_RuntimeException;
 utf *utf_java_lang_StringIndexOutOfBoundsException;
 
 utf *utf_java_lang_reflect_InvocationTargetException;
@@ -152,14 +144,23 @@ utf *utf_SourceFile;                    /* SourceFile                         */
 #if defined(ENABLE_JAVASE)
 utf *utf_EnclosingMethod;
 utf *utf_Signature;
-utf *utf_RuntimeVisibleAnnotations;
 utf *utf_StackMapTable;
+
+#if defined(ENABLE_ANNOTATIONS)
+utf *utf_RuntimeVisibleAnnotations;            /* RuntimeVisibleAnnotations            */
+utf *utf_RuntimeInvisibleAnnotations;          /* RuntimeInvisibleAnnotations          */
+utf *utf_RuntimeVisibleParameterAnnotations;   /* RuntimeVisibleParameterAnnotations   */
+utf *utf_RuntimeInvisibleParameterAnnotations; /* RuntimeInvisibleParameterAnnotations */
+utf *utf_AnnotationDefault;                    /* AnnotationDefault                    */
+#endif
 #endif
 
 utf *utf_init;                          /* <init>                             */
 utf *utf_clinit;                        /* <clinit>                           */
 utf *utf_clone;                         /* clone                              */
 utf *utf_finalize;                      /* finalize                           */
+utf *utf_invoke;
+utf *utf_main;
 utf *utf_run;                           /* run                                */
 
 utf *utf_add;
@@ -168,12 +169,15 @@ utf *utf_addThread;
 utf *utf_removeThread;
 utf *utf_put;
 utf *utf_get;
+utf *utf_uncaughtException;
 utf *utf_value;
 
 utf *utf_fillInStackTrace;
+utf *utf_findNative;
 utf *utf_getSystemClassLoader;
 utf *utf_initCause;
 utf *utf_loadClass;
+utf *utf_loadClassInternal;
 utf *utf_printStackTrace;
 
 utf *utf_division_by_zero;
@@ -200,11 +204,14 @@ 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_ClassLoader_java_lang_String__J;
 utf *utf_java_lang_Exception__V;        /* (Ljava/lang/Exception;)V           */
 utf *utf_java_lang_Object__java_lang_Object;
 utf *utf_java_lang_String__void;        /* (Ljava/lang/String;)V              */
 utf *utf_java_lang_String__java_lang_Class;
 utf *utf_java_lang_Thread__V;           /* (Ljava/lang/Thread;)V              */
+utf *utf_java_lang_Thread_java_lang_Throwable__V;
+utf *utf_Ljava_lang_ThreadGroup_Ljava_lang_String__V;
 utf *utf_java_lang_Throwable__void;     /* (Ljava/lang/Throwable;)V           */
 utf *utf_java_lang_Throwable__java_lang_Throwable;
 
@@ -219,8 +226,10 @@ utf *array_packagename;
 
 *******************************************************************************/
 
-bool utf8_init(void)
+void utf8_init(void)
 {
+       TRACESUBSYSTEMINITIALIZATION("utf8_init");
+
        /* create utf8 hashtable */
 
        hashtable_utf = NEW(hashtable);
@@ -241,7 +250,6 @@ bool utf8_init(void)
        utf_java_lang_Cloneable        = utf_new_char("java/lang/Cloneable");
        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_lang_ref_SoftReference =
@@ -302,10 +310,6 @@ bool utf8_init(void)
                utf_new_char("java/lang/NoSuchMethodError");
 #endif
 
-#if defined(WITH_CLASSPATH_GNU)
-       utf_java_lang_VMThrowable      = utf_new_char("java/lang/VMThrowable");
-#endif
-
        utf_java_lang_Exception        = utf_new_char("java/lang/Exception");
 
        utf_java_lang_ArithmeticException =
@@ -347,6 +351,9 @@ bool utf8_init(void)
        utf_java_lang_NullPointerException =
                utf_new_char("java/lang/NullPointerException");
 
+       utf_java_lang_RuntimeException =
+               utf_new_char("java/lang/RuntimeException");
+
        utf_java_lang_StringIndexOutOfBoundsException =
                utf_new_char("java/lang/StringIndexOutOfBoundsException");
 
@@ -391,14 +398,23 @@ bool utf8_init(void)
 #if defined(ENABLE_JAVASE)
        utf_EnclosingMethod            = utf_new_char("EnclosingMethod");
        utf_Signature                  = utf_new_char("Signature");
-       utf_RuntimeVisibleAnnotations  = utf_new_char("RuntimeVisibleAnnotations");
        utf_StackMapTable              = utf_new_char("StackMapTable");
+
+#if defined(ENABLE_ANNOTATIONS)
+       utf_RuntimeVisibleAnnotations            = utf_new_char("RuntimeVisibleAnnotations");
+       utf_RuntimeInvisibleAnnotations          = utf_new_char("RuntimeInvisibleAnnotations");
+       utf_RuntimeVisibleParameterAnnotations   = utf_new_char("RuntimeVisibleParameterAnnotations");
+       utf_RuntimeInvisibleParameterAnnotations = utf_new_char("RuntimeInvisibleParameterAnnotations");
+       utf_AnnotationDefault                    = utf_new_char("AnnotationDefault");
+#endif
 #endif
 
        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_invoke                     = utf_new_char("invoke");
+       utf_main                       = utf_new_char("main");
        utf_run                        = utf_new_char("run");
 
        utf_add                        = utf_new_char("add");
@@ -407,12 +423,15 @@ bool utf8_init(void)
        utf_removeThread               = utf_new_char("removeThread");
        utf_put                        = utf_new_char("put");
        utf_get                        = utf_new_char("get");
+       utf_uncaughtException          = utf_new_char("uncaughtException");
        utf_value                      = utf_new_char("value");
 
        utf_fillInStackTrace           = utf_new_char("fillInStackTrace");
+       utf_findNative                 = utf_new_char("findNative");
        utf_getSystemClassLoader       = utf_new_char("getSystemClassLoader");
        utf_initCause                  = utf_new_char("initCause");
        utf_loadClass                  = utf_new_char("loadClass");
+       utf_loadClassInternal          = utf_new_char("loadClassInternal");
        utf_printStackTrace            = utf_new_char("printStackTrace");
 
        utf_division_by_zero           = utf_new_char("/ by zero");
@@ -441,6 +460,9 @@ bool utf8_init(void)
        utf_void__java_lang_ClassLoader =
                utf_new_char("()Ljava/lang/ClassLoader;");
 
+       utf_java_lang_ClassLoader_java_lang_String__J =
+               utf_new_char("(Ljava/lang/ClassLoader;Ljava/lang/String;)J");
+
        utf_java_lang_Exception__V     = utf_new_char("(Ljava/lang/Exception;)V");
 
        utf_java_lang_Object__java_lang_Object =
@@ -452,6 +474,13 @@ bool utf8_init(void)
                utf_new_char("(Ljava/lang/String;)Ljava/lang/Class;");
 
        utf_java_lang_Thread__V        = utf_new_char("(Ljava/lang/Thread;)V");
+
+       utf_java_lang_Thread_java_lang_Throwable__V =
+               utf_new_char("(Ljava/lang/Thread;Ljava/lang/Throwable;)V");
+
+       utf_Ljava_lang_ThreadGroup_Ljava_lang_String__V =
+               utf_new_char("(Ljava/lang/ThreadGroup;Ljava/lang/String;)V");
+
        utf_java_lang_Throwable__void  = utf_new_char("(Ljava/lang/Throwable;)V");
 
        utf_java_lang_Throwable__java_lang_Throwable =
@@ -460,10 +489,6 @@ bool utf8_init(void)
        utf_null                       = utf_new_char("null");
        utf_not_named_yet              = utf_new_char("\t<not_named_yet>");
        array_packagename              = utf_new_char("\t<the array package>");
-
-       /* everything's ok */
-
-       return true;
 }