< prev index next >
test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/ThrowFactory.java
Print this page
*** 28,57 ****
import jdk.test.lib.jittester.Rule;
import jdk.test.lib.jittester.Throw;
import jdk.test.lib.jittester.Type;
import jdk.test.lib.jittester.types.TypeKlass;
! class ThrowFactory extends SafeFactory {
! private final Rule rule;
ThrowFactory(long complexityLimit, int operatorLimit, TypeKlass ownerClass,
Type resultType, boolean exceptionSafe) {
IRNodeBuilder b = new IRNodeBuilder()
.setComplexityLimit(complexityLimit)
.setOperatorLimit(operatorLimit)
.setOwnerKlass(ownerClass)
.setResultType(resultType)
.setExceptionSafe(exceptionSafe)
.setNoConsts(false);
! rule = new Rule("throw");
rule.add("constant", b.setIsConstant(true).setIsInitialized(true).getVariableFactory());
rule.add("variable", b.setIsConstant(false).setIsInitialized(true).getVariableFactory());
rule.add("assignment", b.getAssignmentOperatorFactory());
rule.add("function", b.getFunctionFactory(), 2);
}
@Override
! protected IRNode sproduce() throws ProductionFailedException {
return new Throw(rule.produce());
}
}
--- 28,57 ----
import jdk.test.lib.jittester.Rule;
import jdk.test.lib.jittester.Throw;
import jdk.test.lib.jittester.Type;
import jdk.test.lib.jittester.types.TypeKlass;
! class ThrowFactory extends SafeFactory<Throw> {
! private final Rule<IRNode> rule;
ThrowFactory(long complexityLimit, int operatorLimit, TypeKlass ownerClass,
Type resultType, boolean exceptionSafe) {
IRNodeBuilder b = new IRNodeBuilder()
.setComplexityLimit(complexityLimit)
.setOperatorLimit(operatorLimit)
.setOwnerKlass(ownerClass)
.setResultType(resultType)
.setExceptionSafe(exceptionSafe)
.setNoConsts(false);
! rule = new Rule<>("throw");
rule.add("constant", b.setIsConstant(true).setIsInitialized(true).getVariableFactory());
rule.add("variable", b.setIsConstant(false).setIsInitialized(true).getVariableFactory());
rule.add("assignment", b.getAssignmentOperatorFactory());
rule.add("function", b.getFunctionFactory(), 2);
}
@Override
! protected Throw sproduce() throws ProductionFailedException {
return new Throw(rule.produce());
}
}
< prev index next >