Print -verbose:message on "loading", not initialization.
authorPer Bothner <per@bothner.com>
Mon, 19 Jul 2004 18:29:31 +0000 (11:29 -0700)
committerPer Bothner <bothner@gcc.gnu.org>
Mon, 19 Jul 2004 18:29:31 +0000 (11:29 -0700)
* java/lang/Class.h (JV_STATE_LOADED, JV_STATE_COMPILED):  Swap order.
* defineclass.cc (_Jv_ClassReader::parse):  Print message if
gcj::verbose_class_flag.
* java/lang/natClass.cc (initializeClass):  Don't print message here.
* java/lang/natClassLoader.cc (_Jv_WaitForState):  If state was
_JV_STATE_COMPILED, set to JV_STATE_LOADED and may print message.
(_Jv_PrepareCompiledClass):  Likewise.

From-SVN: r84926

libjava/ChangeLog
libjava/defineclass.cc
libjava/java/lang/Class.h
libjava/java/lang/natClass.cc
libjava/java/lang/natClassLoader.cc

index eb4d7c68a41e12840373c31d83e8d126b8a26e46..8f7edb16cf4acfb849b840db2f39dcf77dfecf97 100644 (file)
@@ -1,3 +1,14 @@
+2004-07-19  Per Bothner  <per@bothner.com>
+
+       Print -verbose:message on "loading", not initialization.
+       * java/lang/Class.h (JV_STATE_LOADED, JV_STATE_COMPILED):  Swap order.
+       * defineclass.cc (_Jv_ClassReader::parse):  Print message if
+       gcj::verbose_class_flag.
+       * java/lang/natClass.cc (initializeClass):  Don't print message here.
+       * java/lang/natClassLoader.cc (_Jv_WaitForState):  If state was
+       _JV_STATE_COMPILED, set to JV_STATE_LOADED and may print message.
+       (_Jv_PrepareCompiledClass):  Likewise.
+
 2004-07-18  Matthias Klose  <doko@debian.org>
 
        * configure.in: Substitute target_noncanonical.
index 26606815836bfc0a7b3645479b30bb5e9cfb616e..0648ad98287ad4b0871b7e59a3815e1e53884c99 100644 (file)
@@ -336,6 +336,8 @@ _Jv_ClassReader::parse ()
 
   // tell everyone we're done.
   def->state = JV_STATE_LOADED;
+  if (gcj::verbose_class_flag)
+    fprintf (stderr, "[Loaded (bytecode) %s]\n", (const char*)(def->name->data));
   def->notifyAll ();
 
 }
index e93920c06b51583bf1e2b8cb2b1eec02b2335d18..de00c2eb2fb8710ad04c24a174b409b5bbf019db 100644 (file)
@@ -39,10 +39,9 @@ enum
 
   JV_STATE_PRELOADING = 1,     // Can do _Jv_FindClass.
   JV_STATE_LOADING = 3,                // Has super installed.
-  JV_STATE_LOADED = 5,         // Is complete.
-    
-  JV_STATE_COMPILED = 6,       // This was a compiled class.
+  JV_STATE_COMPILED = 5,       // This was a compiled class.
 
+  JV_STATE_LOADED = 6,         // Is complete.
   JV_STATE_PREPARED = 7,       // Layout & static init done.
   JV_STATE_LINKED = 9,         // Strings interned.
 
index 943269eb52e07132878a2bb19de24ad1d443c82a..1b1a32d1babd1ad3893608fea36ee8690b198d93 100644 (file)
@@ -831,9 +831,6 @@ 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 ();
index ec48352c792cfc6bfea7b2bd3b340db4ee384f06..b38c2db16258f06113483cd65835a3be2e75fde9 100644 (file)
@@ -48,6 +48,12 @@ _Jv_WaitForState (jclass klass, int state)
   
   _Jv_MonitorEnter (klass) ;
 
+  if (klass->state == JV_STATE_COMPILED)
+    {
+      klass->state = JV_STATE_LOADED;
+      if (gcj::verbose_class_flag)
+       fprintf (stderr, "[Loaded (pre-compiled) %s]\n", (const char*)(klass->name->data));
+    }
   if (state == JV_STATE_LINKED)
     {
       // Must call _Jv_PrepareCompiledClass while holding the class
@@ -86,7 +92,8 @@ typedef unsigned int uaddr __attribute__ ((mode (pointer)));
 void
 _Jv_PrepareCompiledClass (jclass klass)
 {
-  if (klass->state >= JV_STATE_LINKED)
+  jint state = klass->state;
+  if (state >= JV_STATE_LINKED)
     return;
 
   // Short-circuit, so that mutually dependent classes are ok.
@@ -173,6 +180,10 @@ _Jv_PrepareCompiledClass (jclass klass)
   if (klass->isInterface ())
     _Jv_LayoutInterfaceMethods (klass);
 
+  if (state == JV_STATE_COMPILED && gcj::verbose_class_flag)
+    fprintf (stderr, "[Loaded (pre-compiled) %s]\n",
+            (const char*)(klass->name->data));
+
   klass->notifyAll ();
 
   _Jv_PushClass (klass);