RFR (S) CR 8014886: @Contended fields can overrun oop maps
David Holmes
david.holmes at oracle.com
Mon May 20 19:26:54 PDT 2013
Hi Aleksey,
What value does max_oop_maps get? And how does that compare to the old
value of "nonstatic_oop_count + 1"? I'm just trying to get a sense of
how much additional space we are now using here.
Thanks,
David
On 21/05/2013 2:11 AM, Aleksey Shipilev wrote:
> Hi again,
>
> This is a simple, but potentially disruptive issue found during the code
> review. We messed up calculating the oop maps with @Contended classes,
> and so we can corrupt something adjacent.
>
> The fix is here:
> http://cr.openjdk.java.net/~shade/8014886/webrev.01/
>
> The issue is about nonstatic_oop_count counting only non- at Contended
> fields. The fix is pretty straight-forward, although entire *_count
> handling requires more refactoring, which is to be handled elsewhere,
> during the class field layout cleanup.
>
> I also put a few asserts as the range-checks, and those asserts are
> failing when the max_oop_maps are calculated as before.
>
> Testing:
> - new regression test added, fails on new asserts
> - Linux x86_64/fastdebug runtime/contended/ tests
> - full JPRT cycle against hotspot-rt
>
> Please review!
>
> -Aleksey.
>
More information about the hotspot-dev
mailing list