7188276: JSR 292: assert(ct == T_OBJECT) failed: rt=T_OBJECT, ct=13
authortwisti
Wed, 01 Aug 2012 14:44:26 -0700
changeset 13395 edf37d840190
parent 13394 930691003b55
child 13396 1b2b5f740ee0
7188276: JSR 292: assert(ct == T_OBJECT) failed: rt=T_OBJECT, ct=13 Reviewed-by: kvn, jrose
hotspot/src/share/vm/opto/doCall.cpp
--- a/hotspot/src/share/vm/opto/doCall.cpp	Wed Aug 01 14:10:32 2012 -0700
+++ b/hotspot/src/share/vm/opto/doCall.cpp	Wed Aug 01 14:44:26 2012 -0700
@@ -523,10 +523,10 @@
             retnode = _gvn.transform( new (C, 3) LShiftINode(retnode, intcon(16)) );
             retnode = _gvn.transform( new (C, 3) RShiftINode(retnode, intcon(16)) );
           } else {
-            assert(ct == T_INT, err_msg_res("rt=%d, ct=%d", rt, ct));
+            assert(ct == T_INT, err_msg_res("rt=%s, ct=%s", type2name(rt), type2name(ct)));
           }
-        } else if (rt == T_OBJECT) {
-          assert(ct == T_OBJECT, err_msg_res("rt=T_OBJECT, ct=%d", ct));
+        } else if (rt == T_OBJECT || rt == T_ARRAY) {
+          assert(ct == T_OBJECT || ct == T_ARRAY, err_msg_res("rt=%s, ct=%s", type2name(rt), type2name(ct)));
           if (ctype->is_loaded()) {
             Node* if_fail = top();
             retnode = gen_checkcast(retnode, makecon(TypeKlassPtr::make(ctype->as_klass())), &if_fail);