RFR(S) 8251271- C2: Compile::_for_igvn list is corrupted after RenumberLiveNodes

Tobias Hartmann tobias.hartmann at oracle.com
Fri Sep 4 09:29:02 UTC 2020


Hi Xin,

On 03.09.20 19:29, Liu, Xin wrote:
> How about this? We can clear() the worklist out. 
> 
> diff --git a/src/hotspot/share/opto/compile.cpp b/src/hotspot/share/opto/compile.cpp
> --- a/src/hotspot/share/opto/compile.cpp
> +++ b/src/hotspot/share/opto/compile.cpp
> @@ -2089,9 +2089,12 @@
>        ResourceMark rm;
>        PhaseRenumberLive prl = PhaseRenumberLive(initial_gvn(), for_igvn(), &new_worklist);
>      }
> +    Unique_Node_List* save_for_igvn = for_igvn();
>      set_for_igvn(&new_worklist);
>      igvn = PhaseIterGVN(initial_gvn());
>      igvn.optimize();
> +    set_for_igvn(save_for_igvn);
> +    for_igvn()->clear();
>    }

That looks good to me.

Best regards,
Tobias


More information about the hotspot-compiler-dev mailing list