[jdk17] RFR: 8269795: C2: Out of bounds array load floats above its range check in loop peeling resulting in SEGV
Tobias Hartmann
thartmann at openjdk.java.net
Fri Jul 9 08:26:51 UTC 2021
On Fri, 9 Jul 2021 07:49:43 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
>> src/hotspot/share/opto/loopTransform.cpp line 524:
>>
>>> 522: !loop->is_member(get_loop(get_ctrl(test->in(1))))){
>>> 523: // Walk loop body looking for instances of this test
>>> 524: Node* test_cond = test->in(1);
>>
>> Maybe move this up to line 517 and replace the `test->in(1)->is_Con()` and `get_ctrl(test->in(1))` usages in line 520/522 for better readability.
>
> Unfortunately, that's not possible as `test` could be an `IfProj` with only a control input.
Right, too bad.
>> test/hotspot/jtreg/compiler/loopopts/TestPeelingRemoveDominatedTest.java line 26:
>>
>>> 24: /*
>>> 25: * @test
>>> 26: * @key stress randomness
>>
>> There is no randomness in the test, right? Or is that referring to the use of `StressGCM`? If so, these keys are missing from other other tests that use this flag.
>
> Yes, it's referring to `StressGCM`. @robcasloz once updated all tests with `StressGCM` to use these keys in [JDK-8253765](https://github.com/openjdk/jdk/commit/05459df0). But some newer tests miss these keys. Should we update them in an RFE to be consistent?
Yes, I think that would be good.
-------------
PR: https://git.openjdk.java.net/jdk17/pull/235
More information about the hotspot-compiler-dev
mailing list