Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Integrating AspectJ Load-TimeWeaving into OSGi/Eclipse




Martin,

>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
becomes available.

>Can you provide more insights about your enlightening conversation?
I plan to right it up and post it.

Matthew Webster
AOSD Project
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
http://w3.hursley.ibm.com/~websterm/

Martin Lippert <lippert@xxxxxxx>@eclipse.org on 29/09/2005 20:37:57

Please respond to Equinox development mailing list
       <equinox-dev@xxxxxxxxxxx>

Sent by:    equinox-dev-bounces@xxxxxxxxxxx


To:    Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
cc:
Subject:    Re: [equinox-dev] Integrating AspectJ     Load-TimeWeaving
       into OSGi/Eclipse


Matthew,

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

Agree.

>> 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
>> more?
> 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!

-Martin

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev




Back to the top