RFR: 8315916: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded [v7]
Christian Hagedorn
chagedorn at openjdk.org
Wed Nov 27 08:43:43 UTC 2024
On Mon, 18 Nov 2024 02:23:46 GMT, Dhamoder Nalla <dhanalla at openjdk.org> wrote:
>> In the debug build, the assert is triggered during the parsing (before Code_Gen). In the Release build, however, the compilation bails out at `Compile::check_node_count()` during the code generation phase and completes execution without any issues.
>>
>> When I commented out the assert(C->live_nodes() <= C->max_node_limit()), both the debug and release builds exhibited the same behavior: the compilation bails out during code_gen after building the ideal graph with more than 80K nodes.
>>
>> The proposed fix will check the live node count and bail out during compilation while building the graph for scalarization of the elements in the array when the live node count crosses the limit of 80K, instead of unnecessarily building the entire graph and bailing out in code_gen.
>
> Dhamoder Nalla has updated the pull request incrementally with one additional commit since the last revision:
>
> CR comments
test/hotspot/jtreg/compiler/escapeAnalysis/TestScalarizeBailout.java line 2:
> 1: /*
> 2: * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
You should update the copyright year:
Suggestion:
* Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
test/hotspot/jtreg/compiler/escapeAnalysis/TestScalarizeBailout.java line 36:
> 34:
> 35: public class TestScalarizeBailout {
> 36: static Object var1;
You should indent Java code with 4 spaces.
test/hotspot/jtreg/compiler/escapeAnalysis/TestScalarizeBailout.java line 42:
> 40: try {
> 41: // load the class to initialize the static object and trigger the EA
> 42: Class <?> Class37 = Class.forName("compiler.escapeAnalysis.TestScalarizeBailout");
I'm still unclear why we need this line. Is it possible to trigger the assert without it somehow?
I tried to run your JTreg test but could not trigger the assert. On what platform/setup could you trigger this?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20504#discussion_r1860213391
PR Review Comment: https://git.openjdk.org/jdk/pull/20504#discussion_r1860212953
PR Review Comment: https://git.openjdk.org/jdk/pull/20504#discussion_r1860215585
More information about the hotspot-compiler-dev
mailing list