Hi Walter,

2008/7/22 Walter Cazzola <[EMAIL PROTECTED]>:

> 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 [EMAIL PROTECTED] Ph.: +39 02 503 16300  Fax: +39 02 503 16100
> · · · ---------------------------- · · · ---------------------------- · · ·
>               ... recursive: adjective, see recursive ...
> · · · ---------------------------- · · · ---------------------------- · · ·
> _______________________________________________
> aspectj-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to