Do not compare boxed values with 0 via IFEQ/IFNE

This commit is contained in:
Alexander Udalov
2012-10-30 22:54:20 +04:00
parent cb99f26807
commit 4c5fe70804
3 changed files with 15 additions and 2 deletions
@@ -2362,11 +2362,11 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
return genCmpWithNull(left, leftType, opToken);
}
if (isIntZero(left, leftType)) {
if (isIntZero(left, leftType) && isIntPrimitive(rightType)) {
return genCmpWithZero(right, rightType, opToken);
}
if (isIntZero(right, rightType)) {
if (isIntZero(right, rightType) && isIntPrimitive(leftType)) {
return genCmpWithZero(left, leftType, opToken);
}