diff --git a/src/share/vm/opto/doCall.cpp b/src/share/vm/opto/doCall.cpp index 61d8d5e7cdc8822ded52d0f0e47878726db59229..580740b9fe47ef7512da701767ccb89c7397e118 100644 --- a/src/share/vm/opto/doCall.cpp +++ b/src/share/vm/opto/doCall.cpp @@ -523,10 +523,10 @@ void Parse::do_call() { 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);