RFR(S): 8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Mar 17 19:39:26 UTC 2020


Seems reasonable fix. Please, test.

Thanks,
Vladimir K

On 3/17/20 9:41 AM, Roland Westrelin wrote:
> 
> http://cr.openjdk.java.net/~roland/8240795/webrev.00/
> 
> Change is identical to initial change except for macroArrayCopy.cpp:
> 
> https://hg.openjdk.java.net/jdk/jdk/rev/1d4d4c9d03c2#l5.1
> 
> That change is wrong because it attaches the new membar to the wrong
> slice:
> C->get_alias_index(ac->_dest_type)
> instead of:
> C->get_alias_index(ac->_dest_type->add_offset(Type::OffsetBot)->is_ptr())
> 
> Anyway, thinking more about this, I don't think the change to
> macroArrayCopy.cpp in the initial patch was needed at all.
> 
> ac->_dest_type != TypeOopPtr::BOTTOM && adr_type != ac->_dest_type
> 
> should only be true with zeroing elimination. Then adr_type is raw
> memory. So there can't be any load from memory slice ac->_dest_type
> before the membar and no risk of a missed anti-dependence.
> 
> Roland.
> 


More information about the hotspot-compiler-dev mailing list