RFR: Remove UseShenandoahGC check in ArrayCopyNode::finish_transform()

Aleksey Shipilev shade at redhat.com
Fri Nov 9 19:47:17 UTC 2018


On 11/09/2018 02:33 PM, Roman Kennke wrote:
>>> Removing the last remaining diff in arraycopynode.cpp doesn't seem to be
>>> problematic, and I can't see why it should matter. Roland? Any idea? Can
>>> we remove it?
>>
>> It's not needed anymore AFAICT.
> 
> 
> Apparently it is infact needed. I just hit the assert. Let's revert the
> removal. :-(
> 
> diff --git a/src/hotspot/share/opto/arraycopynode.cpp
> b/src/hotspot/share/opto/arraycopynode.cpp
> --- a/src/hotspot/share/opto/arraycopynode.cpp
> +++ b/src/hotspot/share/opto/arraycopynode.cpp
> @@ -497,7 +497,7 @@
>    } else {
>      if (in(TypeFunc::Control) != ctl) {
>        // we can't return new memory and control from Ideal at parse time
> -      assert(!is_clonebasic(), "added control for clone?");
> +      assert(!is_clonebasic() || UseShenandoahGC, "added control for
> clone?");
>        phase->record_for_igvn(this);
>        return false;
>      }
> 
> Ok?

Please do, I hit it as well.

-Aleksey




More information about the shenandoah-dev mailing list