RFR (S) CR 8014886: @Contended fields can overrun oop maps

Aleksey Shipilev aleksey.shipilev at oracle.com
Mon May 20 09:11:37 PDT 2013


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