src/share/vm/c1/c1_Compilation.cpp

changeset 2306
22ef3370343b
parent 2138
d5d065957597
child 2314
f95d63e2154a
     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);

mercurial