RFR: 8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj

Hui Shi hshi at openjdk.java.net
Tue Aug 10 01:52:34 UTC 2021


On Mon, 9 Aug 2021 18:24:02 GMT, Xin Liu <xliu at openjdk.org> wrote:

>> This fix a crash in PhaseMacroExpand::generate_slow_arraycopy in following case, because arraycopy node's fallthrough_ioproj is NULL.
>> - arraycopy has ArrayIndexOutOfBoundsException exception
>> - arraycopy is before an infinite loop
>> 
>> Fix is not cloning and replacing fallthrough_ioproj when it is NULL.
>> 
>> 
>>     static void foo() {
>>         try {
>>             Arrays.copyOfRange(src, -1, 128);
>>             do {
>>             } while (true);
>>         } catch (ArrayIndexOutOfBoundsException ex) {
>>             count++;
>>         }
>>     }
>> 
>> 
>> New test is added.
>> Test: Linux X64 tier1/tier2/tier3 release/fastdebug passed.
>
> LTGM.

@navyxliu @neliasso thanks for your review!

-------------

PR: https://git.openjdk.java.net/jdk/pull/5054


More information about the hotspot-compiler-dev mailing list