From 4e41d148930a3cc48effa0090c00bc2028703b58 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 13 Dec 2001 04:19:36 +0000 Subject: [PATCH] prims.cc (_Jv_RunMain): Use `using' to simplify code. * prims.cc (_Jv_RunMain): Use `using' to simplify code. Set _Jv_Jar_Class_Path early. From-SVN: r47965 --- libjava/ChangeLog | 3 +++ libjava/prims.cc | 20 ++++++++------------ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d41ff8d712e..4116faedd4a 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,8 @@ 2001-12-12 Tom Tromey + * prims.cc (_Jv_RunMain): Use `using' to simplify code. Set + _Jv_Jar_Class_Path early. + * jni.cc (call): Synchronize if required. * gij.cc (main): Clarify --help output. diff --git a/libjava/prims.cc b/libjava/prims.cc index 5a4c3a6cbd8..75204b876dd 100644 --- a/libjava/prims.cc +++ b/libjava/prims.cc @@ -994,6 +994,10 @@ _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, try { + // Set this very early so that it is seen when java.lang.System + // is initialized. + if (is_jar) + _Jv_Jar_Class_Path = strdup (name); _Jv_CreateJavaVM (NULL); // Get the Runtime here. We want to initialize it before searching @@ -1002,20 +1006,12 @@ _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, arg_vec = JvConvertArgv (argc - 1, argv + 1); + using namespace gnu::gcj::runtime; if (klass) - main_thread = new gnu::gcj::runtime::FirstThread (klass, arg_vec); + main_thread = new FirstThread (klass, arg_vec); else - main_thread = new gnu::gcj::runtime::FirstThread - (JvNewStringLatin1 (name), arg_vec, is_jar); - - if (is_jar) - { - // We need a new ClassLoader because the classpath must be the - // jar file only. The easiest way to do this is to lose our - // reference to the previous classloader. - _Jv_Jar_Class_Path = strdup (name); - gnu::gcj::runtime::VMClassLoader::instance = NULL; - } + main_thread = new FirstThread (JvNewStringLatin1 (name), + arg_vec, is_jar); } catch (java::lang::Throwable *t) {