Layout interfaces during preparation, not initialization.
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 May 2004 16:08:50 +0000 (16:08 +0000)
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 May 2004 16:08:50 +0000 (16:08 +0000)
* java/lang/natClass.cc (initializeClass): Move
_Jv_LayoutInterfaceMethods call...
* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): to here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82101 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/java/lang/natClass.cc
libjava/java/lang/natClassLoader.cc

index 8299f0d..a613fb7 100644 (file)
@@ -1,3 +1,10 @@
+2004-05-21  Bryce McKinlay  <mckinlay@redhat.com>
+
+       Layout interfaces during preparation, not initialization. 
+       * java/lang/natClass.cc (initializeClass): Move 
+       _Jv_LayoutInterfaceMethods call...
+       * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): to here.
+
 2004-05-19  Anthony Green  <green@localhost.localdomain>
 
        * Makefile.am (awt_java_source_files): Remove javax.rmi and
@@ -27,7 +34,6 @@
 
        * java/io/Writer.java (Writer(Object)): Check for null lock object.
 
-
 2004-05-15  Mark Wielaard  <mark@klomp.org>
 
        * doc/cni.sgml: Removed, merged into gcj.texi.
index 3ceda11..ead9bce 100644 (file)
@@ -790,9 +790,6 @@ java::lang::Class::initializeClass (void)
        }
     }
 
-  if (isInterface ())
-    _Jv_LayoutInterfaceMethods (this);
-
   _Jv_PrepareConstantTimeTables (this);
 
   if (vtable == NULL)
index 9921d1d..ec48352 100644 (file)
@@ -170,6 +170,9 @@ _Jv_PrepareCompiledClass (jclass klass)
     }
 #endif /* INTERPRETER */
 
+  if (klass->isInterface ())
+    _Jv_LayoutInterfaceMethods (klass);
+
   klass->notifyAll ();
 
   _Jv_PushClass (klass);