Skip to content

Commit dbf0905

Browse files
committedJun 7, 2022
8286967: Unproblemlist compiler/c2/irTests/TestSkeletonPredicates.java and add additional test for JDK-8286638
Reviewed-by: kvn, thartmann
1 parent 39fa52b commit dbf0905

File tree

2 files changed

+77
-2
lines changed

2 files changed

+77
-2
lines changed
 

‎test/hotspot/jtreg/ProblemList-Xcomp.txt

-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
#
2828
#############################################################################
2929

30-
compiler/c2/irTests/TestSkeletonPredicates.java 8286361 generic-all
31-
3230
vmTestbase/nsk/jvmti/SetFieldAccessWatch/setfldw001/TestDescription.java 8205957 generic-all
3331

3432
serviceability/jvmti/vthread/ContFramePopTest/ContFramePopTest.java 8278053 generic-all
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
/*
2+
* Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
3+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+
*
5+
* This code is free software; you can redistribute it and/or modify it
6+
* under the terms of the GNU General Public License version 2 only, as
7+
* published by the Free Software Foundation.
8+
*
9+
* This code is distributed in the hope that it will be useful, but WITHOUT
10+
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11+
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12+
* version 2 for more details (a copy is included in the LICENSE file that
13+
* accompanied this code).
14+
*
15+
* You should have received a copy of the GNU General Public License version
16+
* 2 along with this work; if not, write to the Free Software Foundation,
17+
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18+
*
19+
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20+
* or visit www.oracle.com if you need additional information or have any
21+
* questions.
22+
*/
23+
24+
/*
25+
* @test
26+
* @key stress randomness
27+
* @requires vm.compiler2.enabled
28+
* @bug 8286638
29+
* @summary Dominator failure because CastII node becomes TOP while skeleton predicate cannot be folded
30+
* due to insufficient overflow/underflow handling in CmpUNode::Value.
31+
32+
*
33+
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-UseLoopPredicate -XX:+StressIGVN -XX:StressSeed=680585904
34+
* -XX:CompileCommand=compileonly,compiler.rangechecks.TestRangeCheckCmpUOverflow::test
35+
* -XX:CompileCommand=inline,compiler.rangechecks.TestRangeCheckCmpUOverflow::inlined
36+
* -XX:-DoEscapeAnalysis compiler.rangechecks.TestRangeCheckCmpUOverflow
37+
* @run main/othervm -XX:+UnlockDiagnosticVMOptions -Xbatch -XX:-UseLoopPredicate -XX:+StressIGVN
38+
* -XX:CompileCommand=compileonly,compiler.rangechecks.TestRangeCheckCmpUOverflow::test
39+
* -XX:CompileCommand=inline,compiler.rangechecks.TestRangeCheckCmpUOverflow::inlined
40+
* -XX:-DoEscapeAnalysis compiler.rangechecks.TestRangeCheckCmpUOverflow
41+
*/
42+
43+
package compiler.rangechecks;
44+
45+
46+
public class TestRangeCheckCmpUOverflow {
47+
static volatile int barrier;
48+
49+
public static void main(String[] args) {
50+
for (int i = 0; i < 10000; i++) {
51+
run();
52+
}
53+
}
54+
55+
static void run() {
56+
double[] array = new double[1000];
57+
inlined(1000, array);
58+
test(11);
59+
}
60+
61+
static void inlined(int stop, double[] array1) {
62+
for (int i = 8; i < stop; i++) {
63+
if ((i % 2) == 0) {
64+
array1[i] = 42.42;
65+
} else {
66+
barrier = 0x42;
67+
}
68+
}
69+
}
70+
71+
static void test(int stop) {
72+
double[] array1 = new double[10];
73+
for (int j = 0; j < stop; j++) {
74+
inlined(j, array1);
75+
}
76+
}
77+
}

0 commit comments

Comments
 (0)
Please sign in to comment.