Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Error building project with Eclipse+AJDT 1.5.2

Hi Walter,

2008/7/22 Walter Cazzola <cazzola@xxxxxxxxxxxxx>:
Hi Andy,
thanks a lot for the answer


On Mon, 21 Jul 2008, Andy Clement wrote:

 There is a 64k size limit for methods in Java.  Sometimes if an
 already large method contains many join points that match then during
 weaving the size will grow past 64k.  AspectJ does not do any
 splitting of the woven code into multiple methods in this case but
 just reports that it cannot weave that method.

We was imaging something like this. Is there a way to work around this
problem?

Only the workarounds you might imagine, there is no magic solution:
- use withincode() to avoid weaving the method that will get too large with your general aspect and write specific advice for relevant join points within it.
- use execution() matching advice rather than call() which might advise fewer places
- turn off advice inlining if using around advice, to reduce code inserted into advised methods
- don't use non-static information available at the join point since that must be packaged up and passed to the advice every time
 

We are going to weave our aspects on third part applications and we
don't want to refactor their code since our aspects have the intent to
determine what can be extracted and encapsulated in aspects (aspect
mining) but this sounds as a recursive problem.

The correct solution is breaking the advised method into pieces when it gets too large, but so far it happens infrequently enough that fixing it hasn't become a priority for us I'm afraid.  In fact I don't even think we have an open bug request to address it - feel free to raise one but I'm not sure we'll get to it soon.

cheers,
Andy.

 


Cheers
Walter

--
Walter Cazzola, PhD - Assistant Professor, DICo, University of Milano
E-mail cazzola@xxxxxxxxxxxxx Ph.: +39 02 503 16300  Fax: +39 02 503 16100
· · · ---------------------------- · · · ---------------------------- · · ·
              ... recursive: adjective, see recursive ...
· · · ---------------------------- · · · ---------------------------- · · ·

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



Back to the top