RFR: 8292301: [REDO v2] C2 crash when allocating array of size too large [v4]
Roland Westrelin
roland at openjdk.org
Fri Sep 23 07:33:35 UTC 2022
On Mon, 19 Sep 2022 22:16:38 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/macro.cpp line 1384:
>
>> 1382: // that the call has the expected number of CatchProj nodes (in case the allocation always fails and the fallthrough
>> 1383: // path dies).
>> 1384: if (valid_length_test != NULL) {
>
> Should we check for TOP too?
valid_length_test is NULL for AllocateNode and not NULL for AllocateArrayNode. PhaseMacroExpand::expand_allocate_common() is shared by the 2 node types and that test is used to differentiate the two. I don't think top is possible here. I also think for simplicity we want to always move the ValidLength input from the AllocateArrayNode to the call.
-------------
PR: https://git.openjdk.org/jdk/pull/10038
More information about the hotspot-compiler-dev
mailing list