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

Roman Kennke rkennke at redhat.com
Fri Nov 9 13:33:22 UTC 2018



>> 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?



More information about the shenandoah-dev mailing list