RFR: 8292301: [REDO v2] C2 crash when allocating array of size too large [v4]
Roland Westrelin
roland at openjdk.org
Fri Sep 23 07:13:27 UTC 2022
On Mon, 19 Sep 2022 22:08:48 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> Roland Westrelin has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits:
>>
>> - comments
>> - Merge branch 'master' into JDK-8292301
>> - Update src/hotspot/share/opto/phaseX.cpp
>>
>> Co-authored-by: Tobias Hartmann <tobias.hartmann at oracle.com>
>> - undo needless change
>> - dos->unix test file
>> - move tests
>> - test fix
>> - fix
>> - test
>> - test for 8288184
>> - ... and 2 more: https://git.openjdk.org/jdk/compare/8e22f2bb...9d92011a
>
> src/hotspot/share/opto/compile.cpp line 4034:
>
>> 4032: assert(call->is_CallStaticJava(), "static call expected");
>> 4033: assert(call->req() == call->jvms()->endoff() + 1, "missing extra input");
>> 4034: call->del_req(call->req()-1); // valid length test useless now
>
> How you remove graph (test) attached to ValidLengthTest input? How you know that `call` node still has this input and it is `call->req() -1`?
You're right that the subgraph at ValidLengthTest goes dead and is not properly removed. I pushed a new change to fix that.
The ValidLengthTest input from the AllocateArrayNode is always moved to the call so there's no reason it shouldn't still be there.
-------------
PR: https://git.openjdk.org/jdk/pull/10038
More information about the hotspot-compiler-dev
mailing list