This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: ClassLoader: unexpected exception during linking
- From: Jeff Sturm <jsturm at one-point dot com>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: Per Bothner <per at bothner dot com>, <java at gcc dot gnu dot org>
- Date: Tue, 3 Dec 2002 14:53:37 -0500 (EST)
- Subject: Re: ClassLoader: unexpected exception during linking
On 3 Dec 2002, Tom Tromey wrote:
> >>>>> "Per" == Per Bothner <per@bothner.com> writes:
>
> Per> Does this ring a bell with anyone? Notice that the "cause"
> Per> is in _Jv_SetVTableEntries.
>
> Doesn't ring a bell for me.
Out of curiosity, does the following help?
Yesterday I found that isVirtualMethod fails to consider final methods. I
didn't think it would break anything though, except for
-fno-assume-compiled (which is broken anyway).
Index: natClass.cc
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/lang/natClass.cc,v
retrieving revision 1.55
diff -u -p -r1.55 natClass.cc
--- natClass.cc 10 Nov 2002 21:07:27 -0000 1.55
+++ natClass.cc 3 Dec 2002 19:47:24 -0000
@@ -1601,7 +1613,7 @@ _Jv_SetVTableEntries (jclass klass, _Jv_
for (int i = klass->method_count - 1; i >= 0; i--)
{
_Jv_Method *meth = &klass->methods[i];
- if (!isVirtualMethod(meth))
+ if (meth->index == (_Jv_ushort)0xffff)
continue;
vtable->set_method(meth->index, meth->ncode);
}