Skip to content

Commit f57d72f

Browse files
committed
8371560: [lworld] Disable check_symmetrical until JDK-8332406 is fixed
Reviewed-by: chagedorn
1 parent a180fef commit f57d72f

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

src/hotspot/share/opto/type.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,6 +1051,11 @@ void Type::check_symmetrical(const Type* t, const Type* mt, const VerifyMeet& ve
10511051
// which corresponds to
10521052
// !(t meet this) meet !this ==
10531053
// (!t join !this) meet !this == !this
1054+
// TODO 8332406 Fix this
1055+
if (( isa_instptr() != nullptr && is_instptr()->flat_in_array()) ||
1056+
(t->isa_instptr() != nullptr && t->is_instptr()->flat_in_array())) {
1057+
return;
1058+
}
10541059
if (t2t != t->_dual || t2this != this->_dual) {
10551060
tty->print_cr("=== Meet Not Symmetric ===");
10561061
tty->print("t = "); t->dump(); tty->cr();

test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestFlatInArraysFolding.java

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
/*
2525
* @test id=serialgc
26-
* @bug 8321734 8348961
26+
* @bug 8321734 8348961 8332406
2727
* @requires vm.gc.Serial
2828
* @summary Test that CmpPNode::sub and SubTypeCheckNode::sub correctly identify unrelated classes based on the flat
2929
* in array property of the types. Additionally check that the type system properly handles the case of a
@@ -37,7 +37,7 @@
3737

3838
/*
3939
* @test
40-
* @bug 8321734 8348961
40+
* @bug 8321734 8348961 8332406
4141
* @summary Test that CmpPNode::sub and SubTypeCheckNode::sub correctly identify unrelated classes based on the flat
4242
* in array property of the types. Additionally check that the type system properly handles the case of a
4343
* super class being flat in array while the sub klass could be flat in array.
@@ -290,4 +290,28 @@ public void bar() {}
290290
}
291291

292292
static value class V {}
293+
294+
static final Object OBJ = new Object();
295+
296+
@Test
297+
static Object testEqualMeet1(boolean b, Object[] array, int i) {
298+
return b ? array[i] : OBJ;
299+
}
300+
301+
@Run(test = "testEqualMeet1")
302+
public void testEqualMeet1_verifier() {
303+
testEqualMeet1(true, new Object[1], 0);
304+
testEqualMeet1(false, new Object[1], 0);
305+
}
306+
307+
@Test
308+
static Object testEqualMeet2(boolean b, Object[] array, int i) {
309+
return b ? OBJ : array[i];
310+
}
311+
312+
@Run(test = "testEqualMeet2")
313+
public void testEqualMeet2_verifier() {
314+
testEqualMeet2(true, new Object[1], 0);
315+
testEqualMeet2(false, new Object[1], 0);
316+
}
293317
}

0 commit comments

Comments
 (0)