RFR(XS): 8227384: C2 compilation fails with "graph should be schedulable" when running with -XX:-EliminateLocks

dean.long at oracle.com dean.long at oracle.com
Wed Jul 10 21:59:00 UTC 2019


Hi Roland,

On 7/10/19 6:37 AM, Roland Westrelin wrote:
> The fix I propose is to not set control on the mark work loads. I
> suppose control was set to guarantee the loads don't float above a null
> check but now that C2 doesn't eliminate CastPPs early that should not
> happen.
this category of "it can never happen in the current code" justification 
always worries me.  I guess you could say it's my pet peeve.  What 
happens if in the future C2 does decide to eliminate CastPPs early?  How 
much time are we going to spend to find the breakage?  I hope the answer 
is that an assert will fire and we will detect it immediately.  Or, if 
because of the removed control, the load does float to where it 
shouldn't, what's the worst that can happen?  SEGV?  Or an unexpected 
NullPointerException?

dl


More information about the hotspot-compiler-dev mailing list