RFR: [8u, 9, 10] Cherry-pick SATB/KAL fixes for G1 and Shenandoah

Aleksey Shipilev shade at redhat.com
Fri Apr 13 14:55:49 UTC 2018


I did the sweep for missing SATB/Keepalive barriers in Shenandoah backports, basically enumerating
all the places where current JDK 11 have them, and cross-referencing if they are missing in the
backports.

These are the fixes:

=== sh/jdk10:

http://cr.openjdk.java.net/~shade/shenandoah/audit-satb/10/webrev.01/

6b510cb0f14f: Cherry pick JDK-8187577: JVM crash during gc doing concurrent marking
cds-unsharable: Fix assert in ConstantPool::restore_unshareable_info (see also JDK-8194741)

I am going to request the backport for JDK-8187577 to JDK 10 a bit later. The assert modifies the
code coming from JDK-8194741 to enable Shenandoah -- it is not required in sh/jdk, because Access
API does the right thing.

=== sh/jdk9:

http://cr.openjdk.java.net/~shade/shenandoah/audit-satb/9/webrev.01/

6b510cb0f14f: Cherry pick JDK-8187577: JVM crash during gc doing concurrent marking

There seem to be no chance for JDK-8187577 to come to upstream JDK 9, because it is EOLed.

=== sh/jdk8u:

http://cr.openjdk.java.net/~shade/shenandoah/audit-satb/8u/webrev.01/

6c280bbde146: Cherry-pick JDK-8173013: JVMTI tagged object access needs G1 pre-barrier
a696583f5ddb: Cherry-pick JDK-8165489: Missing G1 barrier in Unsafe_GetObjectVolatile
6b510cb0f14f: Cherry-pick JDK-8187577: JVM crash during gc doing concurrent marking

JDK-8187577 is going to come with the 8u merge at some point. I am going to request backports for
JDK-8173013 and JDK-8165489 to 8u-dev a bit later, so they also come via the regular channel.

All patches pass hotspot_gc_shenandoah {fastdebug|release}.

Thanks,
-Aleksey


More information about the shenandoah-dev mailing list