Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files
8234605: C2 failed "assert(C->live_nodes() - live_at_begin <= 2 * _no…
…des_required) failed: Bad node estimate: actual = 208 >> request = 101"

Reviewed-by: neliasso, kvn
  • Loading branch information
Patric Hedlin committed Jun 29, 2020
1 parent 320af9b commit d19f2bdec01eb324d200f2144293d05ea310f9b8
Showing 1 changed file with 7 additions and 4 deletions.
@@ -1405,14 +1405,17 @@ class PhaseIdealLoop : public PhaseTransform {
void require_nodes_final(uint live_at_begin, bool check_estimate) {
assert(_nodes_required < UINT_MAX, "Bad state (final).");

#ifdef ASSERT
if (check_estimate) {
// Assert that the node budget request was not off by too much (x2).
// Check that the node budget request was not off by too much (x2).
// Should this be the case we _surely_ need to improve the estimates
// used in our budget calculations.
assert(C->live_nodes() - live_at_begin <= 2 * _nodes_required,
"Bad node estimate: actual = %d >> request = %d",
C->live_nodes() - live_at_begin, _nodes_required);
if (C->live_nodes() - live_at_begin > 2 * _nodes_required) {
log_info(compilation)("Bad node estimate: actual = %d >> request = %d",
C->live_nodes() - live_at_begin, _nodes_required);
}
}
#endif
// Assert that we have stayed within the node budget limit.
assert(C->live_nodes() < C->max_node_limit(),
"Exceeding node budget limit: %d + %d > %d (request = %d)",

0 comments on commit d19f2bd

Please sign in to comment.