Mercurial > hg > graal-jvmci-8
comparison src/share/vm/c1/c1_Compilation.cpp @ 1964:22ef3370343b
7000349: Tiered reacts incorrectly to C1 compilation failures
Summary: Fix policy reaction to C1 comilation failures, make C1 properly report errors.
Reviewed-by: kvn
author | iveresov |
---|---|
date | Tue, 16 Nov 2010 15:57:16 -0800 |
parents | d5d065957597 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1963:0ac62b4d6507 | 1964:22ef3370343b |
---|---|
469 _arena = Thread::current()->resource_area(); | 469 _arena = Thread::current()->resource_area(); |
470 _env->set_compiler_data(this); | 470 _env->set_compiler_data(this); |
471 _exception_info_list = new ExceptionInfoList(); | 471 _exception_info_list = new ExceptionInfoList(); |
472 _implicit_exception_table.set_size(0); | 472 _implicit_exception_table.set_size(0); |
473 compile_method(); | 473 compile_method(); |
474 if (is_profiling() && _would_profile) { | 474 if (bailed_out()) { |
475 _env->record_method_not_compilable(bailout_msg(), !TieredCompilation); | |
476 if (is_profiling()) { | |
477 // Compilation failed, create MDO, which would signal the interpreter | |
478 // to start profiling on its own. | |
479 _method->build_method_data(); | |
480 } | |
481 } else if (is_profiling() && _would_profile) { | |
475 ciMethodData *md = method->method_data(); | 482 ciMethodData *md = method->method_data(); |
476 assert (md != NULL, "Should have MDO"); | 483 assert (md != NULL, "Should have MDO"); |
477 md->set_would_profile(_would_profile); | 484 md->set_would_profile(_would_profile); |
478 } | 485 } |
479 } | 486 } |