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

Aleksey Shipilev shade at redhat.com
Mon Apr 26 13:00:16 UTC 2021


On 4/26/21 2:52 PM, Yangfei (Felix) wrote:
> 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.

Honestly, I would consider backporting JDK-8150669 first. It seems quite small:
   https://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/d15b795cdf21

Otherwise, we are splicing the fix under the unrelated synopsis...

Let 8u maintainers decide.

-- 
Thanks,
-Aleksey



More information about the jdk8u-dev mailing list