re PR libgcj/12001 (_Jv_FindClass dumps core when Oracle's classes12.zip in $CLASSPATH)
PR libgcj/12001: * gnu/gcj/runtime/VMClassLoader.java (VMClassLoader): Pass empty array to superclass. (init): Changed interface; add URLs here. (initialize): New static method. * prims.cc (_Jv_CreateJavaVM): Initialize ClassLoader here... (_Jv_RunMain): ... not here. Co-Authored-By: Tom Tromey <tromey@redhat.com> From-SVN: r75889
This commit is contained in:
committed by
Tom Tromey
parent
84568e14b5
commit
092b50e2d7
+12
-9
@@ -1,6 +1,6 @@
|
||||
// prims.cc - Code for core of runtime environment.
|
||||
|
||||
/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation
|
||||
/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
@@ -927,15 +927,24 @@ _Jv_CreateJavaVM (void* /*vm_args*/)
|
||||
_Jv_InitClass (&java::lang::VMThrowable::class$);
|
||||
java::lang::VMThrowable::trace_enabled = 0;
|
||||
|
||||
// We have to initialize this fairly early, to avoid circular class
|
||||
// initialization. In particular we want to start the
|
||||
// initialization of ClassLoader before we start the initialization
|
||||
// of VMClassLoader.
|
||||
_Jv_InitClass (&java::lang::ClassLoader::class$);
|
||||
// Once the bootstrap loader is in place, change it into a kind of
|
||||
// system loader, by having it read the class path.
|
||||
gnu::gcj::runtime::VMClassLoader::initialize();
|
||||
|
||||
INIT_SEGV;
|
||||
#ifdef HANDLE_FPE
|
||||
INIT_FPE;
|
||||
#endif
|
||||
|
||||
no_memory = new java::lang::OutOfMemoryError;
|
||||
|
||||
|
||||
java::lang::VMThrowable::trace_enabled = 1;
|
||||
|
||||
|
||||
#ifdef USE_LTDL
|
||||
LTDL_SET_PRELOADED_SYMBOLS ();
|
||||
#endif
|
||||
@@ -988,12 +997,6 @@ _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv,
|
||||
arg_vec = JvConvertArgv (argc - 1, argv + 1);
|
||||
#endif
|
||||
|
||||
// We have to initialize this fairly early, to avoid circular
|
||||
// class initialization. In particular we want to start the
|
||||
// initialization of ClassLoader before we start the
|
||||
// initialization of VMClassLoader.
|
||||
_Jv_InitClass (&java::lang::ClassLoader::class$);
|
||||
|
||||
using namespace gnu::gcj::runtime;
|
||||
if (klass)
|
||||
main_thread = new FirstThread (klass, arg_vec);
|
||||
|
||||
Reference in New Issue
Block a user