src/share/vm/opto/c2compiler.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/opto/c2compiler.cpp

src/share/vm/opto/c2compiler.cpp

Print this page
rev 9032 : 8137167: JEP165: Compiler Control: Implementation task
Summary: Compiler Control JEP
Reviewed-by: roland, twisti

*** 92,110 **** int new_state = (successful) ? initialized : failed; set_state(new_state); } } ! void C2Compiler::compile_method(ciEnv* env, ciMethod* target, int entry_bci) { assert(is_initialized(), "Compiler thread must be initialized"); bool subsume_loads = SubsumeLoads; bool do_escape_analysis = DoEscapeAnalysis && !env->should_retain_local_variables(); bool eliminate_boxing = EliminateAutoBox; while (!env->failing()) { // Attempt to compile while subsuming loads into machine instructions. ! Compile C(env, this, target, entry_bci, subsume_loads, do_escape_analysis, eliminate_boxing); // Check result and retry if appropriate. if (C.failure_reason() != NULL) { if (C.failure_reason_is(retry_class_loading_during_parsing())) { env->report_failure(C.failure_reason()); --- 92,111 ---- int new_state = (successful) ? initialized : failed; set_state(new_state); } } ! void C2Compiler::compile_method(ciEnv* env, ciMethod* target, int entry_bci, DirectiveSet* directive) { assert(is_initialized(), "Compiler thread must be initialized"); bool subsume_loads = SubsumeLoads; bool do_escape_analysis = DoEscapeAnalysis && !env->should_retain_local_variables(); bool eliminate_boxing = EliminateAutoBox; + while (!env->failing()) { // Attempt to compile while subsuming loads into machine instructions. ! Compile C(env, this, target, entry_bci, subsume_loads, do_escape_analysis, eliminate_boxing, directive); // Check result and retry if appropriate. if (C.failure_reason() != NULL) { if (C.failure_reason_is(retry_class_loading_during_parsing())) { env->report_failure(C.failure_reason());
src/share/vm/opto/c2compiler.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File