jvm.h (namespace jcj): Declare verbose_class_flag
authorPer Bothner <per@bothner.com>
Wed, 7 Jul 2004 23:44:12 +0000 (16:44 -0700)
committerPer Bothner <bothner@gcc.gnu.org>
Wed, 7 Jul 2004 23:44:12 +0000 (16:44 -0700)
* 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

libjava/ChangeLog
libjava/gij.cc
libjava/include/jvm.h
libjava/java/lang/natClass.cc

index 3a0ec3e7fcbb55b2aa1adae3a97edf97b34c9004..adcf27512f95c6d50869814ab84262fabb2979bf 100644 (file)
@@ -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.
index 3b0683de03e57d81b25ed1c07bd7072623e28796..8c75fa6db7af4cd4900bd4e25ab16f97549ebc7f 100644 (file)
@@ -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')
index 398f854e7836186c7ea0053391367e2b59ddb693..9cc59160dda1e836a3440e0df32ecbe6cb8f11e7 100644 (file)
@@ -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.  */
index ead9bce6b36a7f2702e3d2ce3e1b76e29384b00d..943269eb52e07132878a2bb19de24ad1d443c82a 100644 (file)
@@ -59,10 +59,13 @@ details.  */
 
 #include <java-cpool.h>
 #include <java-interp.h>
+
 \f
 
 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 ();