[aarch64-port-dev ] RFR: RFR: Bulk integration shenandoah/jdk8u -> aarch64-port/jdk8u-shenandoah 2018-12-13
Aleksey Shipilev
shade at redhat.com
Sat Dec 22 16:19:11 UTC 2018
On 12/22/18 4:53 PM, Andrew Hughes wrote:
>>> Mostly ok, but for:
>>>
>>> changeset: 10742:c935e0b6b4b2
>>> user: shade
>>> date: Thu Oct 25 20:38:21 2018 +0200
>>> summary: [backport] Cherry-pick JDK-8212673, fix for Node::eqv_uncast
>>>
>>> This doesn't seem to have been requested for OpenJDK 11 upstream, never mind 8u.
>>> Why is it being backported only to shenandoah?
>>
>>
>> Because the orginal issue has been made more or less specifically for
>> Shenandoah:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8212603
>>
>> and JDK-8212673 fixes an issue with the change. IOW, it's Shenandoah
>> specific.
>>
>> Roman
>>
>
> Ok, but is it harmful to other collectors to have it upstream? I'm trying to
> minimise our divergence where possible.
>
> 8212603 is not in 8u or shenandoah-8u. Is 8212673 still applicable in its
> absence as a standalone fix?
Yes. 8212673 reverts parts of 8212603, and does the fix more narrowly.
The final code in 11+ is calling to BarrierSet at callnode.cpp, and particular GC choose what to do
with it. In 8u, there is no good GC interface, so we "just" call through Shenandoah-specific
ShenandoahBarrierNode::skip_through_barrier, which is no-op when Shenandoah is disabled. I think
there are other existing places in 8u where the same thing happens.
The final code for 8u does not diverge from upstream much:
https://builds.shipilev.net/patch-openjdk-shenandoah-jdk8-only-shared/latest/src/share/vm/opto/callnode.cpp.sdiff.html
...and there are no changes in node.{c|h}pp from 8212603 left:
https://builds.shipilev.net/patch-openjdk-shenandoah-jdk8-only-shared/latest/src/share/vm/opto/node.cpp.sdiff.html
https://builds.shipilev.net/patch-openjdk-shenandoah-jdk8-only-shared/latest/src/share/vm/opto/node.hpp.sdiff.html
HTHS,
-Aleksey
More information about the aarch64-port-dev
mailing list