TRACE_LINEAR_SCAN(4,tty->print_cr("DOM: computing dominator of B%d: common dominator of B%d and B%d is B%d",cur->block_id(),parent->block_id(),cur->dominator()->block_id(),common_dominator(cur->dominator(),parent)->block_id()));
assert(cur->dominator()!=NULL,"all but first block must have dominator");
}
assert(cur->number_of_preds()!=1||cur->dominator()==cur->pred_at(0),"Single predecessor must also be dominator");
// Assertion does not hold for exception handlers
assert(cur->number_of_preds()!=1||cur->dominator()==cur->pred_at(0)||cur->is_set(BlockBegin::exception_entry_flag),"Single predecessor must also be dominator");
}
// check that all loops are continuous
...
...
@@ -1249,9 +1308,22 @@ class PredecessorValidator : public BlockClosure {