This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: FYI: Patch: Make Method.invoke() and JNI_CallAnyMethod use vtables


>>>>> "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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]