Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] {Spam?} Re: AJDT and memory

> 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?

No, I would need to debug why.  type demotion doesn't process the
entire map - it only processes those added since the last demotion.  I
suppose it is possible some crept into the map without being
registered as demotion candidates.

Andy

On 3 September 2010 01:24, Emond Papegaaij <emond.papegaaij@xxxxxxxxxx> wrote:
> 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
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top