aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2004-07-07 16:44:12 -0700
committerPer Bothner <bothner@gcc.gnu.org>2004-07-07 16:44:12 -0700
commit0bd241538e3a612adf2baed111e774e554a561fd (patch)
tree2dc287cfd8549001b454f7bd170457d8492b5ab7 /libjava
parent6b70713d28225fdc091b442a68bdae8908588a15 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--libjava/gij.cc2
-rw-r--r--libjava/include/jvm.h3
-rw-r--r--libjava/java/lang/natClass.cc6
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 ();