Skip to content

Commit 353e791

Browse files
committed
8257398: Enhance debug output in Type::check_symmetrical
Reviewed-by: vlivanov, chagedorn
1 parent f48737c commit 353e791

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

src/hotspot/share/opto/type.cpp

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -814,18 +814,26 @@ bool Type::interface_vs_oop(const Type *t) const {
814814

815815
#endif
816816

817-
void Type::check_symmetrical(const Type *t, const Type *mt) const {
817+
void Type::check_symmetrical(const Type* t, const Type* mt) const {
818818
#ifdef ASSERT
819-
assert(mt == t->xmeet(this), "meet not commutative");
819+
const Type* mt2 = t->xmeet(this);
820+
if (mt != mt2) {
821+
tty->print_cr("=== Meet Not Commutative ===");
822+
tty->print("t = "); t->dump(); tty->cr();
823+
tty->print("this = "); dump(); tty->cr();
824+
tty->print("t meet this = "); mt2->dump(); tty->cr();
825+
tty->print("this meet t = "); mt->dump(); tty->cr();
826+
fatal("meet not commutative");
827+
}
820828
const Type* dual_join = mt->_dual;
821-
const Type *t2t = dual_join->xmeet(t->_dual);
822-
const Type *t2this = dual_join->xmeet(this->_dual);
829+
const Type* t2t = dual_join->xmeet(t->_dual);
830+
const Type* t2this = dual_join->xmeet(this->_dual);
823831

824832
// Interface meet Oop is Not Symmetric:
825833
// Interface:AnyNull meet Oop:AnyNull == Interface:AnyNull
826834
// Interface:NotNull meet Oop:NotNull == java/lang/Object:NotNull
827835

828-
if( !interface_vs_oop(t) && (t2t != t->_dual || t2this != this->_dual) ) {
836+
if (!interface_vs_oop(t) && (t2t != t->_dual || t2this != this->_dual)) {
829837
tty->print_cr("=== Meet Not Symmetric ===");
830838
tty->print("t = "); t->dump(); tty->cr();
831839
tty->print("this= "); dump(); tty->cr();
@@ -838,7 +846,7 @@ void Type::check_symmetrical(const Type *t, const Type *mt) const {
838846
tty->print("mt_dual meet t_dual= "); t2t ->dump(); tty->cr();
839847
tty->print("mt_dual meet this_dual= "); t2this ->dump(); tty->cr();
840848

841-
fatal("meet not symmetric" );
849+
fatal("meet not symmetric");
842850
}
843851
#endif
844852
}

0 commit comments

Comments
 (0)