[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-gc-dev
Subject:    6-bit age field for 64-bit vms
From:       Paul.Hohensee () Sun ! COM (Paul Hohensee)
Date:       2009-10-19 20:16:45
Message-ID: 4ADCC92D.3000001 () sun ! com
[Download RAW message or body]

Well, it doesn't get '"significantly" tougher with this change. :)

Paul

Paul Hohensee wrote:
> Right now, the object age field is 4 bits wide for both 32 and 64-bit 
> vms.
> It used to be 5 bits until we took away a bit for biased locking in 5u6.
> I'd like to bump it back up to 5 (or maybe even 6) bits for 64-bit vms,
> since there's plenty of space in the mark word.  Doing so would
> help applications that have objects that live a "medium" length of
> time, esp. in conjunction with larger young gens that can be collected
> quickly with enough hardware threads.
>
> This looks pretty easy to do.  Using LP64_ONLY and NOT_LP64, just
> change the age field width to 5 in markOop.hpp and the default values
> for MaxTenuringThreshold and IntialTenuringThreshold in globals.hpp
> back to 31 and 15 respectively for 64-bit.
>
> Doing this makes it harder (than it already is) to compress the mark word
> down to 32-bits when using compressed pointers, but that's already a 
> tough
> problem which doesn't get tougher with this change.
>
> Comments?
>
> Thanks,
>
> Paul
>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic