diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 8299f0dce19..a613fb79e4d 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2004-05-21 Bryce McKinlay + + 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 * 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 * doc/cni.sgml: Removed, merged into gcj.texi. diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index 3ceda11238f..ead9bce6b36 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -790,9 +790,6 @@ java::lang::Class::initializeClass (void) } } - if (isInterface ()) - _Jv_LayoutInterfaceMethods (this); - _Jv_PrepareConstantTimeTables (this); if (vtable == NULL) diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index 9921d1d10e3..ec48352c792 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -170,6 +170,9 @@ _Jv_PrepareCompiledClass (jclass klass) } #endif /* INTERPRETER */ + if (klass->isInterface ()) + _Jv_LayoutInterfaceMethods (klass); + klass->notifyAll (); _Jv_PushClass (klass);