hotspot/src/share/vm/opto/c2compiler.cpp
changeset 28395 fbe08d791778
parent 27706 3f10f4ac2bd6
child 31962 d05e0a4d1b43
--- a/hotspot/src/share/vm/opto/c2compiler.cpp	Tue Dec 30 11:09:42 2014 +0300
+++ b/hotspot/src/share/vm/opto/c2compiler.cpp	Mon Dec 22 11:21:20 2014 +0100
@@ -39,6 +39,9 @@
 const char* C2Compiler::retry_no_escape_analysis() {
   return "retry without escape analysis";
 }
+const char* C2Compiler::retry_class_loading_during_parsing() {
+  return "retry class loading during parsing";
+}
 bool C2Compiler::init_c2_runtime() {
 
   // Check assumptions used while running ADLC
@@ -104,6 +107,10 @@
 
     // 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());
+        continue;  // retry
+      }
       if (C.failure_reason_is(retry_no_subsuming_loads())) {
         assert(subsume_loads, "must make progress");
         subsume_loads = false;