Skip to content

Commit 5bcf898

Browse files
committed
8256478: C2 compilation fails with assert(t1->isa_long()) failed: Type must be a long
Reviewed-by: roland, chagedorn, kvn
1 parent f7f3447 commit 5bcf898

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/hotspot/share/opto/mulnode.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1490,13 +1490,13 @@ const Type* RotateLeftNode::Value(PhaseGVN* phase) const {
14901490
}
14911491

14921492
Node* RotateLeftNode::Ideal(PhaseGVN *phase, bool can_reshape) {
1493-
const Type *t1 = phase->type(in(1));
1494-
const Type *t2 = phase->type(in(2));
1493+
const Type* t1 = phase->type(in(1));
1494+
const Type* t2 = phase->type(in(2));
14951495
if (t2->isa_int() && t2->is_int()->is_con()) {
14961496
if (t1->isa_int()) {
14971497
int lshift = t2->is_int()->get_con() & 31;
14981498
return new RotateRightNode(in(1), phase->intcon(32 - (lshift & 31)), TypeInt::INT);
1499-
} else {
1499+
} else if (t1 != Type::TOP) {
15001500
assert(t1->isa_long(), "Type must be a long");
15011501
int lshift = t2->is_int()->get_con() & 63;
15021502
return new RotateRightNode(in(1), phase->intcon(64 - (lshift & 63)), TypeLong::LONG);

0 commit comments

Comments
 (0)