< prev index next >
test/testlibrary/jittester/src/jdk/test/lib/jittester/factories/SwitchFactory.java
Print this page
*** 32,42 ****
import jdk.test.lib.jittester.Nothing;
import jdk.test.lib.jittester.ProductionFailedException;
import jdk.test.lib.jittester.Rule;
import jdk.test.lib.jittester.Switch;
import jdk.test.lib.jittester.Type;
! import jdk.test.lib.jittester.TypeUtil;
import jdk.test.lib.jittester.types.TypeKlass;
import jdk.test.lib.jittester.types.TypeByte;
import jdk.test.lib.jittester.types.TypeChar;
import jdk.test.lib.jittester.types.TypeInt;
import jdk.test.lib.jittester.types.TypeShort;
--- 32,42 ----
import jdk.test.lib.jittester.Nothing;
import jdk.test.lib.jittester.ProductionFailedException;
import jdk.test.lib.jittester.Rule;
import jdk.test.lib.jittester.Switch;
import jdk.test.lib.jittester.Type;
! import jdk.test.lib.jittester.utils.TypeUtil;
import jdk.test.lib.jittester.types.TypeKlass;
import jdk.test.lib.jittester.types.TypeByte;
import jdk.test.lib.jittester.types.TypeChar;
import jdk.test.lib.jittester.types.TypeInt;
import jdk.test.lib.jittester.types.TypeShort;
*** 61,71 ****
}
@Override
protected IRNode sproduce() throws ProductionFailedException {
if (statementLimit > 0 && complexityLimit > 0) {
! ArrayList<Type> switchTypes = new ArrayList<>();
switchTypes.add(new TypeChar());
switchTypes.add(new TypeByte());
switchTypes.add(new TypeShort());
switchTypes.add(new TypeInt());
PseudoRandom.shuffle(switchTypes);
--- 61,71 ----
}
@Override
protected IRNode sproduce() throws ProductionFailedException {
if (statementLimit > 0 && complexityLimit > 0) {
! List<Type> switchTypes = new ArrayList<>();
switchTypes.add(new TypeChar());
switchTypes.add(new TypeByte());
switchTypes.add(new TypeShort());
switchTypes.add(new TypeInt());
PseudoRandom.shuffle(switchTypes);
*** 76,87 ****
.setCanHaveBreaks(true)
.setCanHaveContinues(false)
.setCanHaveReturn(canHaveReturn);
MAIN_LOOP:
for (Type type : switchTypes) {
! ArrayList<IRNode> caseConsts = new ArrayList<>();
! ArrayList<IRNode> caseBlocks = new ArrayList<>();
try {
int accumulatedStatements = 0;
int currentStatementsLimit = 0;
long accumulatedComplexity = 0L;
long currentComplexityLimit = 0L;
--- 76,87 ----
.setCanHaveBreaks(true)
.setCanHaveContinues(false)
.setCanHaveReturn(canHaveReturn);
MAIN_LOOP:
for (Type type : switchTypes) {
! List<IRNode> caseConsts = new ArrayList<>();
! List<IRNode> caseBlocks = new ArrayList<>();
try {
int accumulatedStatements = 0;
int currentStatementsLimit = 0;
long accumulatedComplexity = 0L;
long currentComplexityLimit = 0L;
*** 92,105 ****
.setExceptionSafe(false)
.setNoConsts(true)
.getLimitedExpressionFactory()
.produce();
accumulatedComplexity += currentComplexityLimit;
! ArrayList<Type> caseTypes = new ArrayList<>();
caseTypes.add(new TypeByte());
caseTypes.add(new TypeChar());
! caseTypes = new ArrayList<>(TypeUtil.getLessCapatiousOrEqualThan(caseTypes,
(BuiltInType) type));
if (PseudoRandom.randomBoolean()) { // "default"
currentStatementsLimit = (int) (PseudoRandom.random()
* (statementLimit - accumulatedStatements));
currentComplexityLimit = (long) (PseudoRandom.random()
--- 92,105 ----
.setExceptionSafe(false)
.setNoConsts(true)
.getLimitedExpressionFactory()
.produce();
accumulatedComplexity += currentComplexityLimit;
! List<Type> caseTypes = new ArrayList<>();
caseTypes.add(new TypeByte());
caseTypes.add(new TypeChar());
! caseTypes = new ArrayList<>(TypeUtil.getLessCapaciousOrEqualThan(caseTypes,
(BuiltInType) type));
if (PseudoRandom.randomBoolean()) { // "default"
currentStatementsLimit = (int) (PseudoRandom.random()
* (statementLimit - accumulatedStatements));
currentComplexityLimit = (long) (PseudoRandom.random()
< prev index next >