[jdk16] RFR: 8253353: Crash in C2: guarantee(n != NULL) failed: No Node
Nils Eliasson
neliasso at openjdk.java.net
Wed Jan 27 22:02:40 UTC 2021
On Wed, 27 Jan 2021 21:03:43 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
> Nesting loops for this case reaches 400+. But the type of IdeaLoopTree::_nest field is uint8 (the maximum value allowed is 255). The test passed with the following fix proposed by @RealFYang:
>
> - uint8_t _nest; // Nesting depth
> + uint16_t _nest; // Nesting depth
>
> I think increase size to `unsigned short` (16 bits) is enough for this value. We will bailout C2 compilation due to big IR graph (MaxNodeLimit = 80000) before we can construct MAX_USHORT (65535) nested loops. And I added asserts to catch such case if it happens.
>
> New regression test is added.
> Passed hs-tier1 - 3 testing.
Looks good.
-------------
Marked as reviewed by neliasso (Reviewer).
PR: https://git.openjdk.java.net/jdk16/pull/135
More information about the hotspot-compiler-dev
mailing list