/* 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.
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.");
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));
utf8_init();
+ // Hook point before the VM is initialized.
+ Hook::vm_preinit();
+
#if defined(ENABLE_JVMTI)
// AFTER: utf8_init
if (!_nativeagents.load_agents())
*/
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__)
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. */
/* signal that we are exiting */
// _exiting = true;
-#warning Move to C++
assert(class_java_lang_System);
assert(class_java_lang_System->state & CLASS_LOADED);