提交 ece7b5e8 编写于 作者: T twisti

7188276: JSR 292: assert(ct == T_OBJECT) failed: rt=T_OBJECT, ct=13

Reviewed-by: kvn, jrose
上级 5da9b68d
...@@ -523,10 +523,10 @@ void Parse::do_call() { ...@@ -523,10 +523,10 @@ void Parse::do_call() {
retnode = _gvn.transform( new (C, 3) LShiftINode(retnode, intcon(16)) ); retnode = _gvn.transform( new (C, 3) LShiftINode(retnode, intcon(16)) );
retnode = _gvn.transform( new (C, 3) RShiftINode(retnode, intcon(16)) ); retnode = _gvn.transform( new (C, 3) RShiftINode(retnode, intcon(16)) );
} else { } 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) { } else if (rt == T_OBJECT || rt == T_ARRAY) {
assert(ct == T_OBJECT, err_msg_res("rt=T_OBJECT, ct=%d", ct)); assert(ct == T_OBJECT || ct == T_ARRAY, err_msg_res("rt=%s, ct=%s", type2name(rt), type2name(ct)));
if (ctype->is_loaded()) { if (ctype->is_loaded()) {
Node* if_fail = top(); Node* if_fail = top();
retnode = gen_checkcast(retnode, makecon(TypeKlassPtr::make(ctype->as_klass())), &if_fail); retnode = gen_checkcast(retnode, makecon(TypeKlassPtr::make(ctype->as_klass())), &if_fail);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册