[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [equinox-dev] Integrating AspectJ Load-TimeWeaving into OSGi/Eclipse
- From: Matthew Webster <matthew_webster@xxxxxxxxxx>
- Date: Tue, 4 Oct 2005 14:43:21 +0100
- Delivered-to: email@example.com
- Importance: Normal
>I tried something like this for all java.* and javax.* classes and could
>share some code if you like.
We should be able to use the Equinox incubator for this.
>Would it be possible to let the weaver skip
>the (woven or analysed) bytecode once the class is loaded? This would
>mean that the weaver would only need to parse and keep the bytecode of
>classes that are not loaded (woven) yet. Correct?
If a weaver weaves a class it should already have the bytecode but as a
further optimization it could drop it in favour of the Class object when it
>Can you provide more insights about your enlightening conversation?
I plan to right it up and post it.
Java Technology Centre, MP146
IBM Hursley Park, Winchester, SO21 2JN, England
Telephone: +44 196 2816139 (external) 246139 (internal)
Email: Matthew Webster/UK/IBM @ IBMGB, matthew_webster@xxxxxxxxxx
Martin Lippert <lippert@xxxxxxx>@eclipse.org on 29/09/2005 20:37:57
Please respond to Equinox development mailing list
Sent by: equinox-dev-bounces@xxxxxxxxxxx
To: Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
Subject: Re: [equinox-dev] Integrating AspectJ Load-TimeWeaving
>> Agree, but is the pure creation of a weaver already a performance or
>> memory footprint problem (if the weaver never starts to weave)?
> We need to do some measurements in this area.
>> Great to hear that more improvements are planned for the AspectJ weaver.
>> What do you think about letting different weavers share their data (with
>> respect to the bundle dependencies) to reduce the memory footprint even
> Rather than create a parallel network of weavers the plan is to use
> java.lang.Class objects and reflection for certain resolved types instead
> of bytecode.
I tried something like this for all java.* and javax.* classes and could
share some code if you like. Would it be possible to let the weaver skip
the (woven or analysed) bytecode once the class is loaded? This would
mean that the weaver would only need to parse and keep the bytecode of
classes that are not loaded (woven) yet. Correct?
>> I would vote for the conservative one at the beginning... ;-) Do you
>> have any idea how to let the caching service detect changes if not done
>> via the version number, for example? I thought about some kind of
>> hashing but that seems to impact performance in a negative way. And
>> performance is a very critical factor for LTW I think...
> I had and enlightening conversation with Jeff yesterday which has set my
> plans in this area back to square one :-(.
Can you provide more insights about your enlightening conversation?
>> Sounds cool. Do you have the code of AOSGi available somewhere? Is it
>> open source? I would love to take a look at it...
> Jeff has suggested creating an Equinox incubation area where we can share
> our implementations and work on convergence.
Sounds good to me!
equinox-dev mailing list