1.1 --- a/src/share/vm/c1/c1_GraphBuilder.cpp Fri Jan 11 20:01:16 2013 -0800 1.2 +++ b/src/share/vm/c1/c1_GraphBuilder.cpp Mon Jan 14 08:22:32 2013 -0800 1.3 @@ -3223,7 +3223,12 @@ 1.4 } 1.5 if (try_inline_full(callee, holder_known, bc, receiver)) 1.6 return true; 1.7 - print_inlining(callee, _inline_bailout_msg, /*success*/ false); 1.8 + 1.9 + // Entire compilation could fail during try_inline_full call. 1.10 + // In that case printing inlining decision info is useless. 1.11 + if (!bailed_out()) 1.12 + print_inlining(callee, _inline_bailout_msg, /*success*/ false); 1.13 + 1.14 return false; 1.15 } 1.16 1.17 @@ -3753,7 +3758,8 @@ 1.18 push_scope(callee, cont); 1.19 1.20 // the BlockListBuilder for the callee could have bailed out 1.21 - CHECK_BAILOUT_(false); 1.22 + if (bailed_out()) 1.23 + return false; 1.24 1.25 // Temporarily set up bytecode stream so we can append instructions 1.26 // (only using the bci of this stream) 1.27 @@ -3819,7 +3825,8 @@ 1.28 iterate_all_blocks(callee_start_block == NULL); 1.29 1.30 // If we bailed out during parsing, return immediately (this is bad news) 1.31 - if (bailed_out()) return false; 1.32 + if (bailed_out()) 1.33 + return false; 1.34 1.35 // iterate_all_blocks theoretically traverses in random order; in 1.36 // practice, we have only traversed the continuation if we are 1.37 @@ -3828,9 +3835,6 @@ 1.38 !continuation()->is_set(BlockBegin::was_visited_flag), 1.39 "continuation should not have been parsed yet if we created it"); 1.40 1.41 - // If we bailed out during parsing, return immediately (this is bad news) 1.42 - CHECK_BAILOUT_(false); 1.43 - 1.44 // At this point we are almost ready to return and resume parsing of 1.45 // the caller back in the GraphBuilder. The only thing we want to do 1.46 // first is an optimization: during parsing of the callee we 1.47 @@ -4171,7 +4175,10 @@ 1.48 else 1.49 log->inline_success("receiver is statically known"); 1.50 } else { 1.51 - log->inline_fail(msg); 1.52 + if (msg != NULL) 1.53 + log->inline_fail(msg); 1.54 + else 1.55 + log->inline_fail("reason unknown"); 1.56 } 1.57 } 1.58