114 GoodRuleConstraint.create(Calls.class, "calls()", 3)
115 );
116
117 String[] allocArrayMatches = { "MyClass", "wrapper for: _new_array_Java"};
118 runCheck(BadFailOnConstraint.create(AllocArray.class, "allocArray()", 1, allocArrayMatches),
119 BadFailOnConstraint.create(AllocArray.class, "allocArray()", 2, allocArrayMatches),
120 GoodFailOnConstraint.create(AllocArray.class, "allocArray()", 3),
121 GoodFailOnConstraint.create(AllocArray.class, "allocArray()", 4),
122 BadFailOnConstraint.create(AllocArray.class, "allocArray()", 5, allocArrayMatches)
123 );
124
125 runCheck(GoodRuleConstraint.create(RunTests.class, "good1()", 1),
126 GoodRuleConstraint.create(RunTests.class, "good1()", 2),
127 GoodRuleConstraint.create(RunTests.class, "good2()", 1),
128 GoodRuleConstraint.create(RunTests.class, "good2()", 2),
129 GoodRuleConstraint.create(RunTests.class, "good3(int)", 1),
130 BadCountsConstraint.create(RunTests.class, "bad1(int)", 1, 0),
131 BadFailOnConstraint.create(RunTests.class, "bad1(int)", 2, "Load")
132 );
133
134 runCheck(new String[] {"-XX:+IgnoreUnrecognizedVMOptions", "-XX:-UseCompressedClassPointers"},
135 BadFailOnConstraint.create(Loads.class, "load()", 1, 1, "Load"),
136 BadFailOnConstraint.create(Loads.class, "load()", 1, 3, "LoadI"),
137 BadCountsConstraint.create(Loads.class, "load()", 1, 1, 0),
138 BadCountsConstraint.create(Loads.class, "load()", 1, 2, 1,"Load"),
139 GoodRuleConstraint.create(Loads.class, "load()", 2),
140 GoodFailOnConstraint.create(Loads.class, "load()", 3),
141 BadCountsConstraint.create(Loads.class, "load()", 3, 2, 2,"Store"),
142 BadFailOnConstraint.create(Loads.class, "load()", 4, 2, "Store"),
143 BadFailOnConstraint.create(Loads.class, "load()", 5, "Load"),
144 BadFailOnConstraint.create(Loads.class, "load()", 6, "Load"),
145 BadFailOnConstraint.create(Loads.class, "load()", 7, "Load"),
146 GoodRuleConstraint.create(Loads.class, "load()", 8),
147 GoodRuleConstraint.create(Loads.class, "load()", 9),
148 GoodRuleConstraint.create(Loads.class, "load()", 10),
149 BadFailOnConstraint.create(Loads.class, "loadKlass()", 1),
150 BadCountsConstraint.create(Loads.class, "loadKlass()", 2, 2,"Field")
151 );
152
153 // Loops
154 runCheck(BadFailOnConstraint.create(Loops.class, "loop()", 1, "Loop"),
155 GoodRuleConstraint.create(Loops.class, "loop()", 2),
|
114 GoodRuleConstraint.create(Calls.class, "calls()", 3)
115 );
116
117 String[] allocArrayMatches = { "MyClass", "wrapper for: _new_array_Java"};
118 runCheck(BadFailOnConstraint.create(AllocArray.class, "allocArray()", 1, allocArrayMatches),
119 BadFailOnConstraint.create(AllocArray.class, "allocArray()", 2, allocArrayMatches),
120 GoodFailOnConstraint.create(AllocArray.class, "allocArray()", 3),
121 GoodFailOnConstraint.create(AllocArray.class, "allocArray()", 4),
122 BadFailOnConstraint.create(AllocArray.class, "allocArray()", 5, allocArrayMatches)
123 );
124
125 runCheck(GoodRuleConstraint.create(RunTests.class, "good1()", 1),
126 GoodRuleConstraint.create(RunTests.class, "good1()", 2),
127 GoodRuleConstraint.create(RunTests.class, "good2()", 1),
128 GoodRuleConstraint.create(RunTests.class, "good2()", 2),
129 GoodRuleConstraint.create(RunTests.class, "good3(int)", 1),
130 BadCountsConstraint.create(RunTests.class, "bad1(int)", 1, 0),
131 BadFailOnConstraint.create(RunTests.class, "bad1(int)", 2, "Load")
132 );
133
134 runCheck(BadFailOnConstraint.create(Loads.class, "load()", 1, 1, "Load"),
135 BadFailOnConstraint.create(Loads.class, "load()", 1, 3, "LoadI"),
136 BadCountsConstraint.create(Loads.class, "load()", 1, 1, 0),
137 BadCountsConstraint.create(Loads.class, "load()", 1, 2, 1,"Load"),
138 GoodRuleConstraint.create(Loads.class, "load()", 2),
139 GoodFailOnConstraint.create(Loads.class, "load()", 3),
140 BadCountsConstraint.create(Loads.class, "load()", 3, 2, 2,"Store"),
141 BadFailOnConstraint.create(Loads.class, "load()", 4, 2, "Store"),
142 BadFailOnConstraint.create(Loads.class, "load()", 5, "Load"),
143 BadFailOnConstraint.create(Loads.class, "load()", 6, "Load"),
144 BadFailOnConstraint.create(Loads.class, "load()", 7, "Load"),
145 GoodRuleConstraint.create(Loads.class, "load()", 8),
146 GoodRuleConstraint.create(Loads.class, "load()", 9),
147 GoodRuleConstraint.create(Loads.class, "load()", 10),
148 BadFailOnConstraint.create(Loads.class, "loadKlass()", 1),
149 BadCountsConstraint.create(Loads.class, "loadKlass()", 2, 2,"Field")
150 );
151
152 // Loops
153 runCheck(BadFailOnConstraint.create(Loops.class, "loop()", 1, "Loop"),
154 GoodRuleConstraint.create(Loops.class, "loop()", 2),
|