aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2004-11-10 18:03:51 +0000
committerTom Tromey <tromey@redhat.com>2004-11-10 18:03:51 +0000
commit08c29a35ccef54f32a3466cc94876f241026aa2a (patch)
treebe5474848fe5899b3f55417b2355cec567cbbde7
parentc567153ea03c1d93002ae03742e1772fa7a233d7 (diff)
* link.cc (verbose_class_flag): Declare.
(wait_for_state): Print message when handling precompiled class. * java/lang/natClass.cc (verbose_class_flag): Moved to link.cc. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcj-abi-2-dev-branch@90400 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/java/lang/natClass.cc2
-rw-r--r--libjava/link.cc16
3 files changed, 22 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 45c943678ee..6a8c971fca7 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-10 Tom Tromey <tromey@redhat.com>
+
+ * link.cc (verbose_class_flag): Declare.
+ (wait_for_state): Print message when handling precompiled class.
+ * java/lang/natClass.cc (verbose_class_flag): Moved to link.cc.
+
2004-11-09 Tom Tromey <tromey@redhat.com>
* testsuite/libjava.lang/assign2.out: New file.
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index be72c5c25f1..0e9c26c7b4f 100644
--- a/libjava/java/lang/natClass.cc
+++ b/libjava/java/lang/natClass.cc
@@ -68,8 +68,6 @@ details. */
using namespace gcj;
-bool gcj::verbose_class_flag;
-
jclass
java::lang::Class::forName (jstring className, jboolean initialize,
java::lang::ClassLoader *loader)
diff --git a/libjava/link.cc b/libjava/link.cc
index fa08198c0e2..f1030c35bef 100644
--- a/libjava/link.cc
+++ b/libjava/link.cc
@@ -40,6 +40,9 @@ details. */
using namespace gcj;
+// When true, print debugging information about class loading.
+bool gcj::verbose_class_flag;
+
typedef unsigned int uaddr __attribute__ ((mode (pointer)));
template<typename T>
@@ -1671,6 +1674,19 @@ _Jv_Linker::wait_for_state (jclass klass, int state)
java::lang::Thread *save = klass->thread;
klass->thread = self;
+ // Print some debugging info if requested. Interpreted classes are
+ // handled in defineclass, so we only need to handle the two
+ // pre-compiled cases here.
+ if (gcj::verbose_class_flag
+ && (klass->state == JV_STATE_COMPILED
+ || klass->state == JV_STATE_PRELOADING)
+ && ! _Jv_IsInterpretedClass (klass))
+ // We use a somewhat bogus test for the ABI here.
+ fprintf (stderr, "[Loaded (%s) %s]\n",
+ (klass->state == JV_STATE_PRELOADING ? "BC-compiled"
+ : "pre-compiled"),
+ klass->name->chars());
+
try
{
if (state >= JV_STATE_LOADING && klass->state < JV_STATE_LOADING)