RFR: JDK-8221751: Shenandoah: Improve SATB enqueueing
Roman Kennke
rkennke at redhat.com
Mon Apr 1 13:41:09 UTC 2019
In some paths, we currently check GC state 3 times before enqueueing an
oop in SATB buffer: 1. conc-mark in progress (global or local), 2. SATB
active (global) 3. SATB active (local). This should be streamlined to
only do one check, and consistently check conc-mark-in-progress only.
This can be taken even further for arraycopy pre-barriers and
arraycopy-loops, where the check can be done once for the whole
operation. In arraycopy barriers code, we can also 'inline' the current
thread and marking context objects, instead of fetching them for every
array element.
Bug:
https://bugs.openjdk.java.net/browse/JDK-8221751
Webrev:
http://cr.openjdk.java.net/~rkennke/JDK-8221751/webrev.00/
Testing: hotspot_gc_shenandoah ok
Good?
Roman
More information about the shenandoah-dev
mailing list