aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alasdair Nottingham <>
Subject Re: Another weaving problem?
Date Fri, 03 Jun 2011 16:55:20 GMT
On 3 June 2011 16:29, Kevan Miller <> wrote:
> On Jun 3, 2011, at 11:10 AM, David Jencks wrote:
>> I'm tired of being in the middle of this.  Please discuss this on the owb dev list
or in comments to
> :)
>> The problem in owb is that although the actual proxy building code has no problems
with the final synthetic methods, there's an excessively naive check for proxyability that
just looks at all declared methods and checks they aren't final.  Based on this example,
I think there may be a  lot of existing code with similar errors that works fine in most
situations but will not work with aries.
> I'm worried about this, also.
> IIUC, complexity has been added to detect the classes so that we can make these methods
'final' -- not for semantic understanding, but in the hopes of improved JIT behavior. As you
note, there is the potential that this will cause incompatibilities/problems with other libraries.

I think Richard gave other reasons as to why these methods should be
marked final. So it isn't just around performance.

> That said, it does seem that there is a performance advantage (though appararently small).
Here's information I got from Derek Inglis, JIT Development Lead at IBM, which I'm sharing
with his permission:
>> Marking methods final does give JIT performance improvements for IBM JVM and Oracle's
JVMs.   Having said that much of the JIT work over the years has been to decrease the overhead
associated with nonfinal methods, such that the advantage of final has decreased.   In summary,
I would encourage using final on methods, however the advantage for a small number of methods,
isn't big enough to worry about if avoiding final for those methods solves other issues.
>> I'll commit a fix to owb too so everyone is unhappy.  if you folks can convince
the owb folks that the methods should be final I'll put the final back in aries.
> I'll join in on the discussion, there...
> --kevan

Alasdair Nottingham

View raw message