comparison src/share/vm/opto/parse1.cpp @ 20283:dbb05f6d93c4

8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on Summary: call rtm_deopt() only if there were no compilation bailouts before. Reviewed-by: kvn
author fzhinkin
date Mon, 28 Jul 2014 15:06:38 -0700
parents 78bbf4d43a14
children 411e30e5fbb8
comparison
equal deleted inserted replaced
20282:f3aeae1f9fc5 20283:dbb05f6d93c4
563 load_interpreter_state(osr_buf); 563 load_interpreter_state(osr_buf);
564 } else { 564 } else {
565 set_map(entry_map); 565 set_map(entry_map);
566 do_method_entry(); 566 do_method_entry();
567 } 567 }
568 if (depth() == 1) { 568
569 if (depth() == 1 && !failing()) {
569 // Add check to deoptimize the nmethod if RTM state was changed 570 // Add check to deoptimize the nmethod if RTM state was changed
570 rtm_deopt(); 571 rtm_deopt();
571 } 572 }
572 573
573 // Check for bailouts during method entry. 574 // Check for bailouts during method entry or RTM state check setup.
574 if (failing()) { 575 if (failing()) {
575 if (log) log->done("parse"); 576 if (log) log->done("parse");
576 C->set_default_node_notes(caller_nn); 577 C->set_default_node_notes(caller_nn);
577 return; 578 return;
578 } 579 }