Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] AJDT memory usage

On Tuesday 20 July 2010 17:04:36 Andy Clement wrote:
> On 19 July 2010 23:48, Emond Papegaaij <emond.papegaaij@xxxxxxxxxx> wrote:
> > I wonder, what does the AspectJ compiler need all that information for?
> > Currently, it seems it stores a complete representation of the classes in
> > the typeMap, including all constantpool entries. Isn't it possible to
> > drop part of this information, for example information like the
> > LineNumberTable and LocalVariableTable or maybe even string constants?
> > Although these structures are not really large, it could save another
> > 100M, especially when you also drop the constant pool entries used by
> > these tables.
> 
> Indeed it keeps a lot of information, that is partly due to the
> initial design of AspectJ never taking into account large projects or
> even incremental compilation.  Over time areas of the compiler are
> revisited over and over as we gradually improve things.  (the original
> AspectJ didn't allow you to compile more than one project in the same
> JVM, imagine how that would work in eclipse - you'd only be allowed
> one AspectJ project in your workspace).  My list of tasks is quite
> large and I get to things when I can...
> 
> The linenumbertables and localvariabletables and code elements cannot
> all be dropped, for example if inlining around advice we want that
> information for the target, so it isn't as easy as throwing everything
> out.  And when incrementally compiling we need to recover state
> because we won't be recompiling everything, only part of the
> application, and that will have dependencies on what we did
> previously.  Recovering out of the bin folder where we previously
> compiled to is part of the solution but sometimes we want the interim
> form, the shape of the class after compilation and before weaving, and
> that form of the class is not always available from disk.
> 
> I know what to do, I just have to find the time.

I understand. Let me know when you need help with testing a new build.

Best regards,
Emond Papegaaij


Back to the top