1.1 --- a/src/share/vm/c1/c1_Compilation.cpp Fri Nov 12 09:51:43 2010 -0800 1.2 +++ b/src/share/vm/c1/c1_Compilation.cpp Tue Nov 16 15:57:16 2010 -0800 1.3 @@ -471,7 +471,14 @@ 1.4 _exception_info_list = new ExceptionInfoList(); 1.5 _implicit_exception_table.set_size(0); 1.6 compile_method(); 1.7 - if (is_profiling() && _would_profile) { 1.8 + if (bailed_out()) { 1.9 + _env->record_method_not_compilable(bailout_msg(), !TieredCompilation); 1.10 + if (is_profiling()) { 1.11 + // Compilation failed, create MDO, which would signal the interpreter 1.12 + // to start profiling on its own. 1.13 + _method->build_method_data(); 1.14 + } 1.15 + } else if (is_profiling() && _would_profile) { 1.16 ciMethodData *md = method->method_data(); 1.17 assert (md != NULL, "Should have MDO"); 1.18 md->set_would_profile(_would_profile);