diff options
author | Per Bothner <per@bothner.com> | 2004-07-07 16:44:12 -0700 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2004-07-07 16:44:12 -0700 |
commit | 0bd241538e3a612adf2baed111e774e554a561fd (patch) | |
tree | 2dc287cfd8549001b454f7bd170457d8492b5ab7 /libjava | |
parent | 6b70713d28225fdc091b442a68bdae8908588a15 (diff) | |
download | gcc-0bd241538e3a612adf2baed111e774e554a561fd.zip gcc-0bd241538e3a612adf2baed111e774e554a561fd.tar.gz gcc-0bd241538e3a612adf2baed111e774e554a561fd.tar.bz2 |
jvm.h (namespace jcj): Declare verbose_class_flag
* include/jvm.h (namespace jcj): Declare verbose_class_flag
* java/lang/natClass.cc (gcj::verbose_class_flag): New variable.
(initializeClass): If verbose_class_flag, print message.
* gij.cc (main): Handle -verbose:class flag.
From-SVN: r84242
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 7 | ||||
-rw-r--r-- | libjava/gij.cc | 2 | ||||
-rw-r--r-- | libjava/include/jvm.h | 3 | ||||
-rw-r--r-- | libjava/java/lang/natClass.cc | 6 |
4 files changed, 18 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 3a0ec3e..adcf275 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2004-07-07 Per Bothner <per@bothner.com> + + * include/jvm.h (namespace jcj): Declare verbose_class_flag + * java/lang/natClass.cc (gcj::verbose_class_flag): New variable. + (initializeClass): If verbose_class_flag, print message. + * gij.cc (main): Handle -verbose:class flag. + 2004-07-07 Andreas Tobler <a.tobler@schweiz.ch> * configure.host: Enable hash synchronization on Darwin. diff --git a/libjava/gij.cc b/libjava/gij.cc index 3b0683d..8c75fa6 100644 --- a/libjava/gij.cc +++ b/libjava/gij.cc @@ -133,6 +133,8 @@ main (int argc, const char **argv) // correct behavior. _Jv_Jar_Class_Path = argv[++i]; } + else if (! strcmp (arg, "-verbose:class")) + gcj::verbose_class_flag = true; else if (arg[1] == 'X') { if (arg[2] == '\0') diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h index 398f854..9cc5916 100644 --- a/libjava/include/jvm.h +++ b/libjava/include/jvm.h @@ -238,6 +238,9 @@ namespace gcj /* Set to true by _Jv_CreateJavaVM. */ extern bool runtimeInitialized; + + /* Print out class names as they are initialized. */ + extern bool verbose_class_flag; } /* Type of pointer used as finalizer. */ diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index ead9bce..943269e 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -59,10 +59,13 @@ details. */ #include <java-cpool.h> #include <java-interp.h> + using namespace gcj; +bool gcj::verbose_class_flag; + jclass java::lang::Class::forName (jstring className, jboolean initialize, java::lang::ClassLoader *loader) @@ -828,6 +831,9 @@ java::lang::Class::initializeClass (void) throw except; } + if (gcj::verbose_class_flag) + fprintf (stderr, "[Loaded %s]\n", (const char*)(name->data)); + _Jv_MonitorEnter (this); state = JV_STATE_DONE; notifyAll (); |