RFR(S): 8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Tobias Hartmann
tobias.hartmann at oracle.com
Fri Mar 20 08:08:37 UTC 2020
Hi Roland,
looks good to me. Testing (tier1-3, hs-precheckin-comp) passed.
Best regards,
Tobias
On 17.03.20 20:39, Vladimir Kozlov wrote:
> 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