Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Weaver used in load-time

Hi Eduardo,

Let me prefix this with the caveat that I have only worked on limited parts
of the weaving code, so I'll let Adrian, Andy, or other committers correct
or clarify my understanding. This is what I believe:

One of the key responsibilities of the world is to resolve "delegates" for
types. Delegates provide for different means of answering type information
(e.g., using BCEL, reflection, potentially even ASM). It also has a type map
that is used to look up previously known (potentially woven types), and has
configuration information. The crosscuttingMembersSet in the world does hold
information about aspects that are used to weave.

The BcelWeaver holds information about what has been woven into, and I don't
believe information about what's been woven into is in the world. 

p.s. This is really a question for the aspectj-dev mailing list, which
addresses development of AspectJ.

-----Original Message-----
From: aspectj-users-bounces@xxxxxxxxxxx
[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Eduardo Santos
Cordeiro
Sent: Monday, February 13, 2006 9:09 AM
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users] Weaver used in load-time

This 'state' held in World's is the information of woven aspects, 
collected join point shadows and such?

Thanks for the reply

Ron Bodkin wrote:

>Hi Eduardo,
>
>Yes, the BcelWeaver is used to weave aspects. In AspectJ 1.5.0 the
BcelWorld
>is also used for load-time weaving. However, there is a plan to switch to a
>separate LTWWorld for load-time weaving. I have implemented an experimental
>LTWWorld that has a highly optimized memory footprint and am working with
>the committers to get some of these enhancements committed back (e.g., see
>https://bugs.eclipse.org/bugs/show_bug.cgi?id=121312). The world holds
state
>during the weaving process.
>
>-----Original Message-----
>From: aspectj-users-bounces@xxxxxxxxxxx
>[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Eduardo Santos
>Cordeiro
>Sent: Monday, February 13, 2006 8:25 AM
>To: aspectj-users@xxxxxxxxxxx
>Subject: [aspectj-users] Weaver used in load-time
>
>Hello there,
>
>I've been sniffing through the source code of ajc, especially inside 
>classes WeavingURLClassLoader and WeavingAdaptor, and it seems that 
>after loading the definitions, BcelWeaver is used to weave aspects. Is 
>it safe to say that this is the same weaver used in static (i.e. 
>compile-time) weaving? Does it apply all the same analises and 
>optimizations?
>
>Thank you,
>
>Eduardo Cordeiro
>_______________________________________________
>aspectj-users mailing list
>aspectj-users@xxxxxxxxxxx
>https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
>_______________________________________________
>aspectj-users mailing list
>aspectj-users@xxxxxxxxxxx
>https://dev.eclipse.org/mailman/listinfo/aspectj-users
>  
>
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users




Back to the top