RFR: 8238867: Improve G1DirtyCardQueueSet::Queue::pop

Kim Barrett kim.barrett at oracle.com
Wed Feb 12 00:45:33 UTC 2020


Please review this change to G1DirtyCardQueueSet::Queue::pop.
Previously, if there was exactly one element in the queue, a pop
operation could not return it, because doing so could break invariants
for concurrent operations.  Now, if there is one element and there are
concurrent pop operations, one of those operations will win.  Note
that there are still races between pop and push/append that may
prevent the pop operation from obtaining an element.

CR:
https://bugs.openjdk.java.net/browse/JDK-8238867

Webrev:
https://cr.openjdk.java.net/~kbarrett/8238867/open.00/

Testing:
mach5 tier1-3.
mach5 tier1-5 (only linux-x64) in conjunction with other changes.
Some performance testing didn't find any unexpected differences.




More information about the hotspot-gc-dev mailing list