8167300: Scheduling failures during gcm should be fatal

Mon, 10 Oct 2016 17:04:42 +0200

author
roland
date
Mon, 10 Oct 2016 17:04:42 +0200
changeset 9953
8a8f679915aa
parent 9952
19056c781208
child 9954
1f0cffcf648a

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;

mercurial