aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/opto
diff options
context:
space:
mode:
authorkvn <none@none>2012-10-25 17:32:03 -0700
committerkvn <none@none>2012-10-25 17:32:03 -0700
commit90ac12b9a621d5dee206ab3846b9c35f96e44e93 (patch)
tree51f1a60ab36c25cc27a1aeb106c48e851d15ace9 /src/share/vm/opto
parentf1d6dc261e69a36e094118451f35c7f90b5fc7e1 (diff)
7163534: VM could crashes assert(false) failed: infinite EA connection graph build
Summary: In case of time or iterations limit reached C2 stops EA and continue compilation without EA as it does in product VM already. Reviewed-by: twisti
Diffstat (limited to 'src/share/vm/opto')
-rw-r--r--src/share/vm/opto/c2_globals.hpp3
-rw-r--r--src/share/vm/opto/escape.cpp2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/share/vm/opto/c2_globals.hpp b/src/share/vm/opto/c2_globals.hpp
index 80996a5d7..4fdebf526 100644
--- a/src/share/vm/opto/c2_globals.hpp
+++ b/src/share/vm/opto/c2_globals.hpp
@@ -439,6 +439,9 @@
product(bool, DoEscapeAnalysis, true, \
"Perform escape analysis") \
\
+ develop(bool, ExitEscapeAnalysisOnTimeout, true, \
+ "Exit or throw assert in EA when it reaches time limit") \
+ \
notproduct(bool, PrintEscapeAnalysis, false, \
"Print the results of escape analysis") \
\
diff --git a/src/share/vm/opto/escape.cpp b/src/share/vm/opto/escape.cpp
index 2fd6ad1ce..a5aa47119 100644
--- a/src/share/vm/opto/escape.cpp
+++ b/src/share/vm/opto/escape.cpp
@@ -1084,7 +1084,7 @@ bool ConnectionGraph::complete_connection_graph(
C->log()->text("%s", (iterations >= CG_BUILD_ITER_LIMIT) ? "iterations" : "time");
C->log()->end_elem(" limit'");
}
- assert(false, err_msg_res("infinite EA connection graph build (%f sec, %d iterations) with %d nodes and worklist size %d",
+ assert(ExitEscapeAnalysisOnTimeout, err_msg_res("infinite EA connection graph build (%f sec, %d iterations) with %d nodes and worklist size %d",
time.seconds(), iterations, nodes_size(), ptnodes_worklist.length()));
// Possible infinite build_connection_graph loop,
// bailout (no changes to ideal graph were made).