[Ping] Re: Request for Approval: Backport of 8146792 : Predicate moved after partial peel may lead to broken graph
Yangfei (Felix)
felix.yang at huawei.com
Tue Aug 6 00:35:35 UTC 2019
Ping...
This has passed jtreg test with a jdk8u fastdebug x86-64 build. Is it OK to backport this?
Thanks,
Felix
Hi,
Please approve the backport of 8146792 to 8u-dev.
This issue can always be reproduced with jdk built from the latest jdk8u master repo:
Test case reduced from one fuzz test:
public class Test {
public static void foo() {
int iArr1[] = new int[10];
int iArr2[][] = new int[10][10];
for (long i = 0; i < 8; ++i) {
iArr1[(int)i] = 10;
for (int j = 0; j < 16; ++j) {
iArr1 = iArr2[0];
}
}
}
public static void main(String[] strArr) {
for (int i = 0; i < 256; i++) {
foo();
}
}
}
Command line: java -XX:+UseSerialGC -XX:-TieredCompilation -XX:-RangeCheckElimination -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:LoopMaxUnroll=1 -XX:-UseCompressedClassPointers -XX:-UseCompressedOops -XX:CompileCommand=compileonly,Test::foo Test
JVM crashed due to bad C2 graph. This issue will not trigger with -XX:-UseLoopPredicate.
Bug: https://bugs.openjdk.java.net/browse/JDK-8146792
JDK9 Changeset: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/2748d975045f
This backport is almost clean for the latest jdk8u master repo.
Thanks,
Felix
More information about the jdk8u-dev
mailing list