diff -r f3aeae1f9fc5 -r dbb05f6d93c4 src/share/vm/opto/parse1.cpp --- a/src/share/vm/opto/parse1.cpp Wed Aug 06 09:55:16 2014 +0200 +++ b/src/share/vm/opto/parse1.cpp Mon Jul 28 15:06:38 2014 -0700 @@ -565,12 +565,13 @@ set_map(entry_map); do_method_entry(); } - 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);