Skip to content

Commit 9317eec

Browse files
committed
8282467: add extra diagnostics for JDK-8268184
Reviewed-by: mdoerr Backport-of: 2903d59
1 parent 12093c0 commit 9317eec

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/hotspot/share/opto/ifg.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
#include "opto/memnode.hpp"
3838
#include "opto/opcodes.hpp"
3939

40+
#include <fenv.h>
41+
4042
PhaseIFG::PhaseIFG( Arena *arena ) : Phase(Interference_Graph), _arena(arena) {
4143
}
4244

@@ -760,7 +762,7 @@ void PhaseChaitin::add_input_to_liveout(Block* b, Node* n, IndexSet* liveout, do
760762
assert(int_pressure.current_pressure() == count_int_pressure(liveout), "the int pressure is incorrect");
761763
assert(float_pressure.current_pressure() == count_float_pressure(liveout), "the float pressure is incorrect");
762764
}
763-
assert(lrg._area >= 0.0, "negative spill area" );
765+
assert(lrg._area >= 0.0, "unexpected spill area value %g (rounding mode %x)", lrg._area, (int)fegetround());
764766
}
765767
}
766768

@@ -871,7 +873,7 @@ uint PhaseChaitin::build_ifg_physical( ResourceArea *a ) {
871873
if (g_isfinite(cost)) {
872874
lrg._area -= cost;
873875
}
874-
assert(lrg._area >= 0.0, "negative spill area" );
876+
assert(lrg._area >= 0.0, "unexpected spill area value %g (rounding mode %x)", lrg._area, (int)fegetround());
875877

876878
assign_high_score_to_immediate_copies(block, n, lrg, location + 1, last_inst);
877879

0 commit comments

Comments
 (0)