On Thursday 02 September 2010 18:31:05 Andy Clement wrote: > Thanks for confirming that stackoverflow is fixed. > > > I wait until Eclipse is finished building, force a few GCs, until memory > > usage is stable and then make a heap dump. The heapdump shows about 700M > > used by AjState objects. About 75% of this memory is taken by > > world.typeMap.tMap. For the largest AjState, the expendableMap (I > > suspect that this is where the demoted types move to) is very small in > > size (only 700k), but still contains 5224 entries, according to the size > > field. I don't know if this number really shows the number of entries in > > the map, because the size() method on WeakHashMap first expunges stale > > entries. The tMap has a size of 1424. > > I'm still surprised there is so much memory being held onto. I > vaguely recall you were just using declare warning/error - or am I > mistaken? The typemap 'tMap' field should hold onto: > - primitive type representations > - Object > - aspects > - types affected by intertype declarations from aspects > > and nothing else. 1424 does seem high as if you are using only > declare warning that would suggest you have around 1415 aspects :) So > something else must be going on.
We indeed only have a single aspect with a few declare error statements. In the tMap I see many classes that are not affected by aspects (if they were, I should have seen a compile error). Is there any way I can see why these types are kept in the tMap? Best regards, Emond Papegaaij _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
