< prev index next >
test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/CompoundArithmeticAssignmentOperatorFactory.java
Print this page
*** 28,39 ****
import jdk.test.lib.jittester.IRNode;
import jdk.test.lib.jittester.OperatorKind;
import jdk.test.lib.jittester.ProductionFailedException;
import jdk.test.lib.jittester.Type;
import jdk.test.lib.jittester.TypeList;
import jdk.test.lib.jittester.utils.TypeUtil;
- import jdk.test.lib.jittester.types.TypeBoolean;
import jdk.test.lib.jittester.types.TypeKlass;
import jdk.test.lib.jittester.utils.PseudoRandom;
class CompoundArithmeticAssignmentOperatorFactory extends BinaryOperatorFactory {
CompoundArithmeticAssignmentOperatorFactory(OperatorKind opKind, long complexityLimit,
--- 28,39 ----
import jdk.test.lib.jittester.IRNode;
import jdk.test.lib.jittester.OperatorKind;
import jdk.test.lib.jittester.ProductionFailedException;
import jdk.test.lib.jittester.Type;
import jdk.test.lib.jittester.TypeList;
+ import jdk.test.lib.jittester.VariableBase;
import jdk.test.lib.jittester.utils.TypeUtil;
import jdk.test.lib.jittester.types.TypeKlass;
import jdk.test.lib.jittester.utils.PseudoRandom;
class CompoundArithmeticAssignmentOperatorFactory extends BinaryOperatorFactory {
CompoundArithmeticAssignmentOperatorFactory(OperatorKind opKind, long complexityLimit,
*** 41,55 ****
super(opKind, complexityLimit, operatorLimit, ownerClass, resultType, exceptionSafe, noconsts);
}
@Override
protected boolean isApplicable(Type resultType) {
! return TypeList.isBuiltIn(resultType) && !resultType.equals(new TypeBoolean());
}
@Override
! protected Pair<Type, Type> generateTypes() throws ProductionFailedException {
return new Pair<>(resultType, PseudoRandom.randomElement(
TypeUtil.getExplicitlyCastable(TypeList.getBuiltIn(), resultType)));
}
@Override
--- 41,55 ----
super(opKind, complexityLimit, operatorLimit, ownerClass, resultType, exceptionSafe, noconsts);
}
@Override
protected boolean isApplicable(Type resultType) {
! return TypeList.isBuiltIn(resultType) && !resultType.equals(TypeList.BOOLEAN);
}
@Override
! protected Pair<Type, Type> generateTypes() {
return new Pair<>(resultType, PseudoRandom.randomElement(
TypeUtil.getExplicitlyCastable(TypeList.getBuiltIn(), resultType)));
}
@Override
*** 64,78 ****
IRNode rightExpr = builder.setComplexityLimit(rightComplexityLimit)
.setOperatorLimit(rightOperatorLimit)
.setResultType(rightType)
.getExpressionFactory()
.produce();
! IRNode leftExpr = builder.setComplexityLimit(leftComplexityLimit)
.setOperatorLimit(leftOperatorLimit)
.setResultType(leftType)
.setIsConstant(false)
.setIsInitialized(true)
.getVariableFactory()
.produce();
! return new BinaryOperator(opKind, leftExpr, rightExpr);
}
}
--- 64,78 ----
IRNode rightExpr = builder.setComplexityLimit(rightComplexityLimit)
.setOperatorLimit(rightOperatorLimit)
.setResultType(rightType)
.getExpressionFactory()
.produce();
! VariableBase leftExpr = builder.setComplexityLimit(leftComplexityLimit)
.setOperatorLimit(leftOperatorLimit)
.setResultType(leftType)
.setIsConstant(false)
.setIsInitialized(true)
.getVariableFactory()
.produce();
! return new BinaryOperator(opKind, resultType, leftExpr, rightExpr);
}
}
< prev index next >