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