FYI: Patch: Make Method.invoke() and JNI_CallAnyMethod use vtables
Tom Tromey
tromey@redhat.com
Wed Oct 29 21:16:00 GMT 2003
>>>>> "Bryce" == Bryce McKinlay <bryce@mckinlay.net.nz> writes:
Bryce> I think final methods should always get vtable entries, even if they
Bryce> are not used for "internal" dispatch in a binary. Thats because
Bryce> removing the "final" modifier does not break pre-existing binaries
Bryce> according to the BC rules, so external calls must use the vtable.
Good point, thanks.
Bryce> The runtime layout code in libgcj certainly does this, I was under the
Bryce> impression the compiler does as well but this would be worth checking.
Nope, search for "INVOKE_NONVIRTUAL" in parse.y. We optimize this
case, but that's invalid with the BC ABI.
Tom
More information about the Java-patches
mailing list