--- old/test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/CastOperatorFactory.java 2016-05-12 04:24:20.234334646 +0300 +++ new/test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/CastOperatorFactory.java 2016-05-12 04:24:20.170334647 +0300 @@ -33,7 +33,7 @@ import jdk.test.lib.jittester.types.TypeKlass; import jdk.test.lib.jittester.utils.PseudoRandom; -class CastOperatorFactory extends OperatorFactory { +class CastOperatorFactory extends OperatorFactory { private final Type resultType; private final Type ownerClass; @@ -45,12 +45,12 @@ } @Override - public IRNode produce() throws ProductionFailedException { + public CastOperator produce() throws ProductionFailedException { ArrayList argType = new ArrayList<>(TypeList.getAll()); PseudoRandom.shuffle(argType); for (Type type : argType) { try { - ExpressionFactory expressionFactory = new IRNodeBuilder() + Factory expressionFactory = new IRNodeBuilder() .setComplexityLimit(complexityLimit - 1) .setOperatorLimit(operatorLimit - 1) .setOwnerKlass((TypeKlass) ownerClass) @@ -59,14 +59,11 @@ .setResultType(type) .getExpressionFactory(); SymbolTable.push(); - if (type.equals(resultType)) { - IRNode expr = expressionFactory.produce(); - SymbolTable.merge(); - return expr; - } else if ((!exceptionSafe || exceptionSafe && !(type instanceof TypeKlass)) - && type.canExplicitlyCastTo(resultType)) { + if (type.equals(resultType) || + ((!exceptionSafe || exceptionSafe && !(type instanceof TypeKlass)) + && type.canExplicitlyCastTo(resultType))) { // In safe mode we cannot explicitly cast an object, because it may throw. - IRNode castOperator = new CastOperator(resultType, expressionFactory.produce()); + CastOperator castOperator = new CastOperator(resultType, expressionFactory.produce()); SymbolTable.merge(); return castOperator; }