@@ -814,18 +814,26 @@ bool Type::interface_vs_oop(const Type *t) const {
814
814
815
815
#endif
816
816
817
- void Type::check_symmetrical (const Type * t, const Type * mt) const {
817
+ void Type::check_symmetrical (const Type* t, const Type* mt) const {
818
818
#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
+ }
820
828
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 );
823
831
824
832
// Interface meet Oop is Not Symmetric:
825
833
// Interface:AnyNull meet Oop:AnyNull == Interface:AnyNull
826
834
// Interface:NotNull meet Oop:NotNull == java/lang/Object:NotNull
827
835
828
- if ( !interface_vs_oop (t) && (t2t != t->_dual || t2this != this ->_dual ) ) {
836
+ if ( !interface_vs_oop (t) && (t2t != t->_dual || t2this != this ->_dual )) {
829
837
tty->print_cr (" === Meet Not Symmetric ===" );
830
838
tty->print (" t = " ); t->dump (); tty->cr ();
831
839
tty->print (" this= " ); dump (); tty->cr ();
@@ -838,7 +846,7 @@ void Type::check_symmetrical(const Type *t, const Type *mt) const {
838
846
tty->print (" mt_dual meet t_dual= " ); t2t ->dump (); tty->cr ();
839
847
tty->print (" mt_dual meet this_dual= " ); t2this ->dump (); tty->cr ();
840
848
841
- fatal (" meet not symmetric" );
849
+ fatal (" meet not symmetric" );
842
850
}
843
851
#endif
844
852
}
0 commit comments