fprintf/vfprintf dependency fix
[cacao.git] / src / vm / vm.cpp
index 384018e337973f173d2c7f4f90b9ce2b3f42dff5..ef1e93dbcdba2d659f596b7ee0872a423f06820c 100644 (file)
@@ -1,6 +1,6 @@
 /* src/vm/vm.cpp - VM startup and shutdown functions
 
-   Copyright (C) 1996-2005, 2006, 2007, 2008, 2009
+   Copyright (C) 1996-2005, 2006, 2007, 2008, 2009, 2010
    CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
@@ -540,9 +540,9 @@ static void XXusage(void)
 static void version(bool opt_exit)
 {
        puts("java version \""JAVA_VERSION"\"");
-       puts("CACAO version "VERSION"\n");
+       puts("CACAO version "VERSION_FULL"\n");
 
-       puts("Copyright (C) 1996-2005, 2006, 2007, 2008, 2009");
+       puts("Copyright (C) 1996-2005, 2006, 2007, 2008, 2009, 2010, 2011");
        puts("CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO");
        puts("This is free software; see the source for copying conditions.  There is NO");
        puts("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
@@ -718,7 +718,7 @@ VM::VM(JavaVMInitArgs* vm_args)
           is smaller or equal than the assumption made in
           src/vm/class.hpp. */
 
-#warning FIXME We need to check the size of java.lang.Class!!!
+// FIXME We need to check the size of java.lang.Class!!!
 //     if (sizeof(java_lang_Class) > sizeof(dummy_java_lang_Class))
 //             vm_abort("vm_create: java_lang_Class structure is bigger than classinfo.object (%d > %d)", sizeof(java_lang_Class), sizeof(dummy_java_lang_Class));
 
@@ -1284,6 +1284,9 @@ VM::VM(JavaVMInitArgs* vm_args)
 
        utf8_init();
 
+       // Hook point before the VM is initialized.
+       Hook::vm_preinit();
+
 #if defined(ENABLE_JVMTI)
        // AFTER: utf8_init
        if (!_nativeagents.load_agents())
@@ -1468,7 +1471,7 @@ VM::VM(JavaVMInitArgs* vm_args)
  */
 void VM::print_build_time_config(void)
 {
-       puts("CACAO "VERSION" configure/build options:");
+       puts("CACAO "VERSION_FULL" configure/build options:");
        puts("");
        puts("  ./configure: "VERSION_CONFIGURE_ARGS"");
 #if defined(__VERSION__)
@@ -1786,10 +1789,12 @@ int vm_destroy(JavaVM *vm)
        threads_join_all_threads();
 #endif
 
+       // Hook point before the VM is actually destroyed.
+       Hook::vm_shutdown();
+
        /* VM is gone. */
 
 //     _created = false;
-#warning Move to C++
 
        /* Everything is ok. */
 
@@ -1810,7 +1815,6 @@ void vm_exit(s4 status)
        /* signal that we are exiting */
 
 //     _exiting = true;
-#warning Move to C++
 
        assert(class_java_lang_System);
        assert(class_java_lang_System->state & CLASS_LOADED);