[abc-users] Implementing another weaving strategy in abc

From: Eduardo S. Cordeiro <cordeiro@dcc.ufmg.br>
Date: Fri Apr 07 2006 - 14:18:54 BST

Hi everyone,
as an experiment in my master's thesis, I am interested in changing the
around weaving strategy implemented by abc. I've read Kuzins' thesis and
several other papers from your team, as wells as the AOSD tutorial slides.

My question is this: is it possible to modularly (i.e. as an extension)
implement another weaving strategy on abc, or modify the existing one?
Must I change the original source code for this? If so, which classes
should I be concerned about?

The modification I wish to apply is to avoid repeated code on shadow
methods created during weaving. This problem has been somewhat lessened
by latest versions of abc (1.1.0 and 1.1.1) with inlining, but it's
still applicable for large shadow code or circular advice applications.
If there is a class A with /n/ calls to a given method and an around
advice applying on calls to that method, abc will create /n/ cases in
the shadow method which contain exactly the same code. What I wish to do
is eliminate /n-1 /of these cases to reduce code size.

It should also probably be noticed that this problem also appears on
ajc, with /n/ shadow methods and /n/ advice methods being created in
class A. I have used AspectJ as an initial test to eliminate these
methods in ajc by caching shadow and local advice methods and avoid
generation of repeated ones.

How can this be implemented in abc? Is the trouble even worth it :) ?

Thank you and best regards,
Eduardo Cordeiro
Received on Fri Apr 07 14:45:30 2006

This archive was generated by hypermail 2.1.8 : Wed Apr 19 2006 - 00:00:05 BST