8224539: C2 compilation fails during ArrayCopyNode optimizations with assert(i < _max) failed: oob: i=1, _max=1
vladimir.kozlov at oracle.com
Wed May 22 15:53:13 UTC 2019
> On May 22, 2019, at 8:08 AM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:
> Looks good.
> Best regards,
> Vladimir Ivanov
>> The fix for JDK-8212243  changed the implementation of the ArrayCopyNode optimizations to access
>> the src/dst adr nodes to get the base:
>> Now it can happen that either one is top if the array size is known and the offset is out of bounds.
>> For example, with incremental inlining we might not know the constant array size once the
>> ArrayCopyNode is created but only once we execute ideal transformations (see regression test). The
>> ArrayCopyNode will eventually be removed because the range checks fail but control is still valid at
>> the time when we hit the assert.
>> Tested with regression test and relevant tiers (running).
>>  https://bugs.openjdk.java.net/browse/JDK-8212243
More information about the hotspot-compiler-dev