8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on

Call rtm_deopt() only if there were no compilation bailouts before.

Reviewed-by: kvn
This commit is contained in:
Filipp Zhinkin 2014-07-28 15:06:38 -07:00
parent f8d5d704ae
commit e8d1955b5e
2 changed files with 130 additions and 2 deletions

View file

@ -575,12 +575,13 @@ Parse::Parse(JVMState* caller, ciMethod* parse_method, float expected_uses)
decrement_age();
}
}
if (depth() == 1) {
if (depth() == 1 && !failing()) {
// Add check to deoptimize the nmethod if RTM state was changed
rtm_deopt();
}
// Check for bailouts during method entry.
// Check for bailouts during method entry or RTM state check setup.
if (failing()) {
if (log) log->done("parse");
C->set_default_node_notes(caller_nn);