Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Aspect Weaver

Hi Jim,
Would it be possible for you  to make a clarification to a comment made in the paper " Advice weaving in AspectJ". This was a question raised by one of our Architects. In section 2 "The compilation process", you mention a back-end weaving AOP which can be used to implement ClassLoaders that would weave advice into classes dynamically as they are loaded by the virtual machine. I am not sure if this relates to the question raised, however one of the concerns brought up was how does AspectJ address the builds. In a modular structure, would it dynamically pick the modules that require weaving or would it do a single monolithic build having to go though all the modules each time. I am not sure how to answer this question and would appreciate any feedback. This is a major concern with large project builds which sometimes go into several hours. So each time a change is made, would it mean a complete recompilation or dynamic update. 
Thank you
Trishan
 
 
 
 
------------------------------------------------------------------------------------
Trishan de Lanerolle
R&D Lead
AOP Research Group
SL ATC, Virtusa
tlanerolle@xxxxxxxxxxx
 

The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. If the reader of this message is not the intended recipient, you are hereby notified that your access is unauthorized, and any review, dissemination, distribution or copying of this message including any attachments is strictly prohibited. If you are not the intended recipient, please contact the sender and delete the material from any computer.

 
-----Original Message-----
From: Jim Hugunin [mailto:lists@xxxxxxxxxxx]
Sent: Tuesday, November 04, 2003 11:46 AM
To: aspectj-users@xxxxxxxxxxx
Subject: RE: [aspectj-users] Aspect Weaver

AspectJ-1.1 implements weaving only at the bytecode level.  There is no intermediate source code for you to look at.  If you want to examine the generated code you can either use javap if you like looking at java bytecode or you can run a java disassembler such as jad on the generated .class files.  We’d love to support the old source code weaving form, but it would be about twice as much engineering work to implement the weaver to operate on both bytecode and source.

 

We get three advantages from the switch to operating on bytecode in 1.1.  Aspects can apply to .jar files for which source may be unavailable, aspect weaving can be done at load time in custom ClassLoaders, and our weaving implementation can be cleanly separated out into a back-end for the eclipse compiler minimizing coupling between the compiler and the weaver.

 

Erik Hilsdale and I just finished writing a paper that describes much of AspectJ’s weaving architecture and looks into the performance impact of AspectJ both on compile times and on the generated code.  This paper is the first one on my web site at http://hugunin.net/papers.html.

 

-Jim


From: aspectj-users-admin@xxxxxxxxxxx [mailto:aspectj-users-admin@xxxxxxxxxxx] On Behalf Of Trishan de Lanerolle
Sent: Monday, November 03, 2003 8:22 PM
To: aspectj-users@xxxxxxxxxxx
Subject: [aspectj-users] Aspect Weaver

 

Hi,

Thanks for the previous information on the use. One hurdle that we have come across is the changes made to version 1.1 from 1.0 where the byte code weaving was introduced.  We would like to see the weaved source code. We need to see the intermediate weaved code. Is there a command or option in 1.1.1 to do this. I am new to AspectJ and I appologise in advance if the answer is staring me in the face. If so this would eliminate a major hurdle. We are concerned about the code overhead the weaved code  adds on. Some of the project build time goes in to several hours and we hope that the introduced Aspects don't significantly add on to this.  We hope to test this out as well. Our architects want to see  what effect the introduced point cuts and aspects have on the source code. Any advice would be appreciated.

Thank you

Trishan

 


Back to the top