RFR(S): 8222738: Shenandoah: assert(is_Proj()) failed when running cometd benchmarks

Roman Kennke rkennke at redhat.com
Tue May 7 09:16:46 UTC 2019


Ok. Thanks!

Roman




> Thanks for the review. Actually, I think it's safer to also make the
> change below because we want to clone everything that's between the call
> and the fallthrough/exception paths, that is everything with a control
> of: the call itself or its control projection.
> 
> Roland.
> 
> 
> diff -r f0739ec84bb4 -r 9968255985be src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
> --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp	Thu Apr 11 12:00:33 2019 +0200
> +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp	Thu May 02 20:47:23 2019 +0200
> @@ -1362,7 +1362,7 @@
>           if (idx < n->outcnt()) {
>             Node* u = n->raw_out(idx);
>             Node* c = phase->ctrl_or_self(u);
> -          if (c == ctrl) {
> +          if (phase->is_dominator(call, c) && phase->is_dominator(c, projs.fallthrough_proj)) {
>               stack.set_index(idx+1);
>               assert(!u->is_CFG(), "");
>               stack.push(u, 0);
> 


More information about the hotspot-compiler-dev mailing list