RFR (XS): 8211853: Avoid additional duplicate work when a reference in the task queue has already been evacuated

Thomas Schatzl thomas.schatzl at oracle.com
Mon Oct 8 14:58:22 UTC 2018


Hi all,

  can I have reviews for this tiny change that removes G1 doing some
duplicate work?

Due to benign races we can sometimes get references that have already
been evacuated from the task queue. 

Current code in G1ParScanThreadState::do_oop_evac() needlessly applies
follow-up calculations (remembered set, humonguous liveness) on this
already evacuated reference - that all has been done the first time
around already. 

Just exit the method if we detect such a task.

CR:
https://bugs.openjdk.java.net/browse/JDK-8211853
Webrev:
http://cr.openjdk.java.net/~tschatzl/8211853/webrev/
Testing:
local jtreg run of gc passes, some benchmarks

Thanks,
  Thomas





More information about the hotspot-gc-dev mailing list