RFR: remove obsolete code

Aleksey Shipilev shade at redhat.com
Wed Aug 15 09:41:21 UTC 2018


On 08/15/2018 10:28 AM, Aleksey Shipilev wrote:
> On 08/10/2018 05:57 PM, Roland Westrelin wrote:
>>
>> http://cr.openjdk.java.net/~roland/shenandoah/cleanup-nobarrieronconst-nowbinasm/webrev.00/
>>
>> This removes some code that's obsolete now that:
>>
>> - barriers are never added on constant oops
>> - write barriers are always expanded to IR
>>
>> + some other trivial cleanup.
>>
>> I haven't run testing with this. What what would be the recommended
>> testing?
> 
> This patch seems to foobar XmlTransform like this:
> 
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  Internal Error
> (/home/shade/trunks/shenandoah-jdk/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp:919),
> pid=16443, tid=16487
> #  assert(wb->Opcode() == Op_ShenandoahWriteBarrier) failed: expect write barrier

And that thing is actually ConP:

#  assert(wb->Opcode() == Op_ShenandoahWriteBarrier) failed: expect write barrier: ConP

Applying this partial reversal helps to avoid the assert:
  http://cr.openjdk.java.net/~shade/shenandoah/revert-c2-const.patch

Although we probably need to follow up if we want to accept ConP in
ShenandoahWBMemProjNode::Identity? Although I cannot see right away how it slipped through constructor:

  ShenandoahWBMemProjNode(Node *src) : ProjNode( src, SWBMEMPROJCON) {
    assert(UseShenandoahGC && ShenandoahWriteBarrier, "should be enabled");
    assert(src->Opcode() == Op_ShenandoahWriteBarrier || src->is_Mach(), "epxect wb");
  }

-Aleksey



More information about the shenandoah-dev mailing list