--- old/test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/BinaryOperatorFactory.java 2016-05-12 04:24:18.102334663 +0300 +++ new/test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/BinaryOperatorFactory.java 2016-05-12 04:24:18.026334664 +0300 @@ -33,7 +33,7 @@ import jdk.test.lib.jittester.types.TypeKlass; import jdk.test.lib.jittester.utils.PseudoRandom; -abstract class BinaryOperatorFactory extends OperatorFactory { +abstract class BinaryOperatorFactory extends OperatorFactory { protected final OperatorKind opKind; protected final Type resultType; protected final Type ownerClass; @@ -48,7 +48,7 @@ protected abstract boolean isApplicable(Type resultType); - protected abstract Pair generateTypes() throws ProductionFailedException; + protected abstract Pair generateTypes(); protected BinaryOperator generateProduction(Type leftType, Type rightType) throws ProductionFailedException { int leftOpLimit = (int) (PseudoRandom.random() * (operatorLimit - 1)); @@ -72,11 +72,11 @@ .setResultType(rightType) .getExpressionFactory() .produce(); - return new BinaryOperator(opKind, leftExpr, rightExpr); + return new BinaryOperator(opKind, resultType, leftExpr, rightExpr); } @Override - public final IRNode produce() throws ProductionFailedException { + public final BinaryOperator produce() throws ProductionFailedException { if (!isApplicable(resultType)) { //avoid implicit use of resultType.toString() throw new ProductionFailedException("Type " + resultType.getName() + " is not applicable by " + getClass().getName()); @@ -91,7 +91,7 @@ try { SymbolTable.push(); - IRNode p = generateProduction(types.first, types.second); + BinaryOperator p = generateProduction(types.first, types.second); SymbolTable.merge(); return p; } catch (ProductionFailedException e) {