- interfaceindex = 0;
-
-
- log_text("Entering loader_init");
-
-
- list_init (&unloadedclasses, OFFSET(classinfo, listnode) );
- list_init (&unlinkedclasses, OFFSET(classinfo, listnode) );
- list_init (&linkedclasses, OFFSET(classinfo, listnode) );
-
- /* create utf-symbols for pointer comparison of frequently used strings */
- utf_innerclasses = utf_new_char("InnerClasses");
- utf_constantvalue = utf_new_char("ConstantValue");
- utf_code = utf_new_char("Code");
- utf_finalize = utf_new_char("finalize");
- utf_fidesc = utf_new_char("()V");
- utf_clinit = utf_new_char("<clinit>");
- utf_initsystemclass = utf_new_char("initializeSystemClass");
- utf_systemclass = utf_new_char("java/lang/System");
- utf_vmclassloader =utf_new_char("java/lang/VMClassLoader");
- utf_initialize =utf_new_char("initialize");
- utf_initializedesc =utf_new_char("(I)V");
-
- utf_vmclass =utf_new_char("java/lang/VMClass");
-
- /* create some important classes */
- /* These classes have to be created now because the classinfo
- * pointers are used in the loading code.
- */
- class_java_lang_Object = class_new( utf_new_char ("java/lang/Object") );
- class_java_lang_String = class_new( utf_new_char("java/lang/String") );
- class_java_lang_Cloneable = class_new( utf_new_char ("java/lang/Cloneable") );
- class_java_io_Serializable = class_new( utf_new_char ("java/io/Serializable") );
-
- log_text("loader_init: java/lang/Object");
- /* load the classes which were created above */
- loader_load (class_java_lang_Object->name);
-
- loader_inited=1; /*JOWENN*/
-
- class_java_lang_Throwable =
- loader_load( utf_new_char("java/lang/Throwable") );
-
- log_text("loader_init: loader_load: java/lang/ClassCastException");
- class_java_lang_ClassCastException =
- loader_load ( utf_new_char ("java/lang/ClassCastException") );
- class_java_lang_NullPointerException =
- loader_load ( utf_new_char ("java/lang/NullPointerException") );
- class_java_lang_ArrayIndexOutOfBoundsException = loader_load (
- utf_new_char ("java/lang/ArrayIndexOutOfBoundsException") );
- class_java_lang_NegativeArraySizeException = loader_load (
- utf_new_char ("java/lang/NegativeArraySizeException") );
- class_java_lang_OutOfMemoryError = loader_load (
- utf_new_char ("java/lang/OutOfMemoryError") );
- class_java_lang_ArrayStoreException =
- loader_load ( utf_new_char ("java/lang/ArrayStoreException") );
- class_java_lang_ArithmeticException =
- loader_load ( utf_new_char ("java/lang/ArithmeticException") );
- class_java_lang_ThreadDeath = /* schani */
- loader_load ( utf_new_char ("java/lang/ThreadDeath") );
- /* create classes representing primitive types */
- create_primitive_classes();
-
- /* create classes used by the typechecker */
- create_pseudo_classes();
-
- /* correct vftbl-entries (retarded loading of class java/lang/String) */
- stringtable_update();
-#ifdef USE_THREADS
- if (stackbottom!=0)
- initLocks();
-#endif