src/share/vm/opto/c2compiler.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/c2compiler.cpp	Thu Nov 20 12:07:20 2014
--- new/src/share/vm/opto/c2compiler.cpp	Thu Nov 20 12:07:20 2014

*** 100,126 **** --- 100,128 ---- 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_no_subsuming_loads())) { assert(subsume_loads, "must make progress"); subsume_loads = false; + env->report_failure(C.failure_reason()); continue; // retry } if (C.failure_reason_is(retry_no_escape_analysis())) { assert(do_escape_analysis, "must make progress"); do_escape_analysis = false; + env->report_failure(C.failure_reason()); continue; // retry } if (C.has_boxed_value()) { // Recompile without boxing elimination regardless failure reason. assert(eliminate_boxing, "must make progress"); eliminate_boxing = false; + env->report_failure(C.failure_reason()); continue; // retry } // Pass any other failure reason up to the ciEnv. // Note that serious, irreversible failures are already logged // on the ciEnv via env->record_method_not_compilable().

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