dev@fi.java.net

Re: JAXB modification of Name

From: Kohsuke Kawaguchi <Kohsuke.Kawaguchi_at_Sun.COM>
Date: Tue, 14 Jun 2005 10:01:43 -0700

Paul Sandoz wrote:
> That could be true. I did not think of that. I am not sure what the
> difference in calling would be between an abstract method and an
> interface method, or even a overridden non-final method. I know that
> making methods final, or the concrete class final, can make a difference.

I think the methods on the abstract class can be called like

        struct Object {
                class* clazz;
        }

        struct clazz {
                void* methodTable[];
        }

        pObj->clazz.methodTable[<%methodIndex%>];

but the method on an interface needs to be called as

        pObj->clazz.getMethodTable(<%interfaceType%>)[<%methodIndex%>];

So there's additional indirection involved here. (I'm just guessing though).

> We can measure the performance difference between two different builds
> to see if it makes a difference.

Don't worry. I think your change is a better design.


>> I didn't see your commit messages to the jaxb2-sources project. Are
>> these changes committed?
>>
>
> Not yet, I was waiting for a reply from you to say it was A-OK :-) For
> now i will avoid committing any direct FI functionality. I will do this
> today.

Thanks.

-- 
Kohsuke Kawaguchi
Sun Microsystems                   kohsuke.kawaguchi_at_sun.com