gcj uses reflection for every INVOKEINTERFACE?

Bryce McKinlay bryce@mckinlay.net.nz
Fri Feb 27 01:47:00 GMT 2004


On Feb 26, 2004, at 6:26 PM, Adam Megacz wrote:

> It looks like _Jv_LookupInterfaceMethodIdx() is getting called every
> time a method overriding an interface method is invoked... is this
> true?  Is there any way around this?

It occurred to me after reading your other messages that you're 
interested in getting rid of the reflection data rather than the 
runtime performance of interface calls.

Interface calls without reflection data are tricky. However, if you are 
doing a static, complete-application compilation - such that given an 
interface, at compile time you have complete knowledge of all classes 
that implement that interface, then you can build the interface 
dispatch tables at compile time thus eliminating the need for 
reflection data.

Regards

Bryce.



More information about the Java mailing list