| [news.eclipse.technology.equinox] Re: AspectJ-enabled runtime implementation |
Hi,
So, currently I use a cached approach. The crosscuts are applied to theI think this is a very good idea. We could cache the modified bytecode of loaded classes somewhere (in the metadata area?).
classfiles
when the plugin they live in is first loaded. Then the result is cached. So,
you
only have to wait once (during "installation"). Future loads of the platform
will
be (almost) as fast as before.
...
Concluding, I strongly recommend adopting a caching mechanism.
In this case we need a mechanism to determine whether the aspects have changed since the last time the system was started. The numer of aspects (or a map to figure out which aspects way installed last time and which not) would not be enough. An installed aspect itself might have changed. If, for example, the pointcut definition is changed the aspect needs to be rewoven into the system the next time the system starts.
-Martin