[jdk16] Integrated: 8253353: Crash in C2: guarantee(n != NULL) failed: No Node
Vladimir Kozlov
kvn at openjdk.java.net
Thu Jan 28 16:19:51 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.
This pull request has now been integrated.
Changeset: 1926765f
Author: Vladimir Kozlov <kvn at openjdk.org>
URL: https://git.openjdk.java.net/jdk16/commit/1926765f
Stats: 1987 lines in 4 files changed: 1986 ins; 0 del; 1 mod
8253353: Crash in C2: guarantee(n != NULL) failed: No Node
Co-authored-by: Fei Yang <fyang at openjdk.org>
Reviewed-by: vlivanov, neliasso
-------------
PR: https://git.openjdk.java.net/jdk16/pull/135
More information about the hotspot-compiler-dev
mailing list