RFR: 8233019: java.lang.Class.isPrimitive() (C1) returns wrong result if Klass* is aligned to 32bit
Yangfei (Felix)
felix.yang at huawei.com
Tue Apr 27 12:18:28 UTC 2021
Hi,
Thanks for the quick reply :-)
> -----Original Message-----
> From: Aleksey Shipilev [mailto:shade at redhat.com]
> Sent: Monday, April 26, 2021 9:00 PM
> To: Yangfei (Felix) <felix.yang at huawei.com>; jdk8u-dev <jdk8u-
> dev at openjdk.java.net>
> Subject: Re: RFR: 8233019: java.lang.Class.isPrimitive() (C1) returns wrong
> result if Klass* is aligned to 32bit
>
> 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.
Yes, I agree it will be more cleaner if we backport JDK-8150669 first.
And I am happy to propose another 8u webrev for JDK-8150669 if it's OK for 8u maintainers.
Felix
More information about the jdk8u-dev
mailing list