6-bit age field for 64-bit vms
Paul Hohensee
Paul.Hohensee at Sun.COM
Mon Oct 19 20:16:45 UTC 2009
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
>
More information about the hotspot-gc-dev
mailing list