< 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 >