Mon, 10 Oct 2016 17:04:42 +0200
8167300: Scheduling failures during gcm should be fatal
Reviewed-by: kvn, mcberg
src/share/vm/opto/gcm.cpp | file | annotate | diff | comparison | revisions | |
src/share/vm/opto/lcm.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/opto/gcm.cpp Tue Jan 28 13:36:30 2020 +0100 1.2 +++ b/src/share/vm/opto/gcm.cpp Mon Oct 10 17:04:42 2016 +0200 1.3 @@ -248,6 +248,7 @@ 1.4 int is_visited = visited.test_set(in->_idx); 1.5 if (!has_block(in)) { 1.6 if (is_visited) { 1.7 + assert(false, "graph should be schedulable"); 1.8 return false; 1.9 } 1.10 // Save parent node and next input's index. 1.11 @@ -1062,6 +1063,7 @@ 1.12 1.13 if (LCA == NULL) { 1.14 // Bailout without retry 1.15 + assert(false, "graph should be schedulable"); 1.16 C->record_method_not_compilable("late schedule failed: LCA == NULL"); 1.17 return least; 1.18 } 1.19 @@ -1216,6 +1218,7 @@ 1.20 C->record_failure(C2Compiler::retry_no_subsuming_loads()); 1.21 } else { 1.22 // Bailout without retry when (early->_dom_depth > LCA->_dom_depth) 1.23 + assert(false, "graph should be schedulable"); 1.24 C->record_method_not_compilable("late schedule failed: incorrect graph"); 1.25 } 1.26 return;
2.1 --- a/src/share/vm/opto/lcm.cpp Tue Jan 28 13:36:30 2020 +0100 2.2 +++ b/src/share/vm/opto/lcm.cpp Mon Oct 10 17:04:42 2016 +0200 2.3 @@ -961,6 +961,8 @@ 2.4 // If this is the first failure, the sentinel string will "stick" 2.5 // to the Compile object, and the C2Compiler will see it and retry. 2.6 C->record_failure(C2Compiler::retry_no_subsuming_loads()); 2.7 + } else { 2.8 + assert(false, "graph should be schedulable"); 2.9 } 2.10 // assert( phi_cnt == end_idx(), "did not schedule all" ); 2.11 return false;