RFR: 8233019: java.lang.Class.isPrimitive() (C1) returns wrong result if Klass* is aligned to 32bit

Yangfei (Felix) felix.yang at huawei.com
Mon Apr 26 12:52:11 UTC 2021


Hi, 

I find issue JDK-8239477 [1] is triggering for 16 jfr jtreg tests with fastdebug build. 
Fix for this issue depends on JDK-8233019 as it emits a compare with metadataConst(0). 
So need to backport JDK-8233019 first. 

Original bug:
    https://bugs.openjdk.java.net/browse/JDK-8233019 
    https://hg.openjdk.java.net/jdk-updates/jdk11u/rev/e1b6631cbd2f 

Original patch does not apply to 8u cleanly. Two adaptations are made for 8u: 
1. Discarded changes in file c1_LIRGenerator.cpp as JDK-8150669 [2] is not there in 8u. 
2. Added new test hotspot/test/compiler/intrinsics/class/TestClassIsPrimitive.java which was introduced by [2] and further modified by this issue. 

8u webrev:
    http://cr.openjdk.java.net/~fyang/8233019-8u/webrev.00 

Performed full jtreg test on both aarch64 and x86_64 linux platforms. 

Thanks,
Felix

[1] https://bugs.openjdk.java.net/browse/JDK-8239477 
[2] https://bugs.openjdk.java.net/browse/JDK-8150669 


More information about the jdk8u-dev mailing list