git: openjdk/jdk: 8253404: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit
Tobias Hartmann
thartmann at openjdk.java.net
Thu Oct 8 12:31:45 UTC 2020
Changeset: a191c586
Author: Roberto Castañeda Lozano <roberto.castaneda.lozano at oracle.com>
Committer: Tobias Hartmann <thartmann at openjdk.org>
Date: 2020-10-08 12:30:38 +0000
URL: https://git.openjdk.java.net/jdk/commit/a191c586
8253404: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit
Record nodes as dead in Node::destruct() if their index cannot be directly
reclaimed. This prevents the "Live Node limit exceeded limit" assertion failure
by improving the accuracy of Compile::live_nodes() when "hook" nodes in
ConvI2LNode::Ideal() are created and deleted non-consecutively.
This addition might result in multiple calls to compile::record_dead_node() for
the same node (e.g. from PhaseIdealLoop::spinup()), but this is safe, as
compile::record_dead_node() is idempotent.
Reviewed-by: neliasso, thartmann
! src/hotspot/share/opto/node.cpp
+ test/hotspot/jtreg/compiler/conversions/TestChainOfIntAddsToLongConversion.java
More information about the jdk-changes
mailing list