From 17abdabcf3d4261dbebcc88cfaa1810b20811fe9 Mon Sep 17 00:00:00 2001 From: Bryce McKinlay Date: Fri, 21 May 2004 16:08:50 +0000 Subject: [PATCH] Layout interfaces during preparation, not initialization. * java/lang/natClass.cc (initializeClass): Move _Jv_LayoutInterfaceMethods call... * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): to here. From-SVN: r82101 --- libjava/ChangeLog | 8 +++++++- libjava/java/lang/natClass.cc | 3 --- libjava/java/lang/natClassLoader.cc | 3 +++ 3 files changed, 10 insertions(+), 4 deletions(-) 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); -- 2.30.2