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