[11] RFR: Fix ShenandoahBarrierSetC2::enqueue_useful_gc_barrier (part of JDK-8212611)

Roman Kennke roman at kennke.org
Sat Sep 7 09:02:05 UTC 2019


OK. Thanks!

Am 6. September 2019 16:58:11 MESZ schrieb Aleksey Shipilev <shade at redhat.com>:
>There is a discrepancy between jdk/jdk and sh/jdk11 definition of
>BSC2::enqueue_useful_gc_barrier,
>where one thing adds the node to the IGVN worklist [1], and another
>adds all users to it [2]. It was
>introduced by JDK-8212611 [3], and we should consider backporting it to
>11u.
>
>Meanwhile, sh/jdk11 x86_32 CTW fails without that patch:
>
>$ CONF=linux-x86-normal-server-fastdebug make run-test
>TEST_VM_OPTS="-XX:-TieredCompilation
>-XX:+UseShenandoahGC"
>TEST=applications/ctw/modules/jdk_scripting_nashorn.java
>
>#
>#  Internal Error
>(/home/shade/trunks/shenandoah-jdk11/src/hotspot/share/opto/compile.cpp:2851),
>pid=23210, tid=23220
># 
>assert(!ShenandoahBarrierSetC2::has_only_shenandoah_wb_pre_uses(addp))
>failed: useless address
>computation?
>#
>
>I believe the best course of action would be to pick up safer parts of
>JDK-8212611 to sh/jdk11:
>https://cr.openjdk.java.net/~shade/shenandoah/11u-fix-bsc2-eugcb/webrev.01/
>
>Testing: {x86_64, x86_32} CTW tests, {x86_64, x86_32}
>hotspot_gc_shenandoah (running)
>
>-- 
>Thanks,
>-Aleksey
>
>
>[1] sh/jdk11:
>void ShenandoahBarrierSetC2::enqueue_useful_gc_barrier(Unique_Node_List
>&worklist, Node* node) const {
>if (node->Opcode() == Op_AddP &&
>ShenandoahBarrierSetC2::has_only_shenandoah_wb_pre_uses(node)) {
>    worklist.push(node);
>  }
>}
>
>[2] jdk/jdk:
>void ShenandoahBarrierSetC2::enqueue_useful_gc_barrier(PhaseIterGVN*
>igvn, Node* node) const {
>if (node->Opcode() == Op_AddP &&
>ShenandoahBarrierSetC2::has_only_shenandoah_wb_pre_uses(node)) {
>    igvn->add_users_to_worklist(node);
>  }
>}
>
>[3] 8212611: Small collection of simple changes from shenandoah
> https://bugs.openjdk.java.net/browse/JDK-8212611

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.


More information about the shenandoah-dev mailing list