Mercurial > hg > graal-compiler
comparison src/share/vm/opto/doCall.cpp @ 6270:b72784e722ff
7188276: JSR 292: assert(ct == T_OBJECT) failed: rt=T_OBJECT, ct=13
Reviewed-by: kvn, jrose
author | twisti |
---|---|
date | Wed, 01 Aug 2012 14:44:26 -0700 |
parents | 6c5b7a6becc8 |
children | 7f813940ac35 |
comparison
equal
deleted
inserted
replaced
6269:8cb110fd7627 | 6270:b72784e722ff |
---|---|
521 retnode = _gvn.transform( new (C, 3) RShiftINode(retnode, intcon(24)) ); | 521 retnode = _gvn.transform( new (C, 3) RShiftINode(retnode, intcon(24)) ); |
522 } else if (ct == T_SHORT) { | 522 } else if (ct == T_SHORT) { |
523 retnode = _gvn.transform( new (C, 3) LShiftINode(retnode, intcon(16)) ); | 523 retnode = _gvn.transform( new (C, 3) LShiftINode(retnode, intcon(16)) ); |
524 retnode = _gvn.transform( new (C, 3) RShiftINode(retnode, intcon(16)) ); | 524 retnode = _gvn.transform( new (C, 3) RShiftINode(retnode, intcon(16)) ); |
525 } else { | 525 } else { |
526 assert(ct == T_INT, err_msg_res("rt=%d, ct=%d", rt, ct)); | 526 assert(ct == T_INT, err_msg_res("rt=%s, ct=%s", type2name(rt), type2name(ct))); |
527 } | 527 } |
528 } else if (rt == T_OBJECT) { | 528 } else if (rt == T_OBJECT || rt == T_ARRAY) { |
529 assert(ct == T_OBJECT, err_msg_res("rt=T_OBJECT, ct=%d", ct)); | 529 assert(ct == T_OBJECT || ct == T_ARRAY, err_msg_res("rt=%s, ct=%s", type2name(rt), type2name(ct))); |
530 if (ctype->is_loaded()) { | 530 if (ctype->is_loaded()) { |
531 Node* if_fail = top(); | 531 Node* if_fail = top(); |
532 retnode = gen_checkcast(retnode, makecon(TypeKlassPtr::make(ctype->as_klass())), &if_fail); | 532 retnode = gen_checkcast(retnode, makecon(TypeKlassPtr::make(ctype->as_klass())), &if_fail); |
533 if (if_fail != top()) { | 533 if (if_fail != top()) { |
534 PreserveJVMState pjvms(this); | 534 PreserveJVMState pjvms(this); |