RFR (S) 8150669: C1 intrinsic for Class.isPrimitive

Christian Thalinger christian.thalinger at oracle.com
Mon Feb 29 22:35:57 UTC 2016

> On Feb 29, 2016, at 11:58 AM, Aleksey Shipilev <aleksey.shipilev at oracle.com> wrote:
> On 03/01/2016 12:46 AM, Christian Thalinger wrote:
>>> I would like to amend C1 with handling Class.isPrimitive intrinsic:
>>> http://cr.openjdk.java.net/~shade/8150669/webrev.01/
>>> https://bugs.openjdk.java.net/browse/JDK-8150669
>>> Through a long chain of dependencies, it would benefit String
>>> concatenation, possibly startup (lots of usages in java.lang.invoke, and
>>> who knows how many other places in JDK that use reflective meddling),
>>> and also, for a fun of it, fastdebug builds.
>> Can you explain the fastdebug comment a bit?  Have we seen real issues or is this just a nice side-effect?
> See the notes at the bottom:
> http://cr.openjdk.java.net/~shade/8150669/notes.txt

That’s good.  I wonder why this wasn’t intrinsified before.

One nit:  can we rename IsPrimitive.java to TestClassIsPrimitive.java?  Most of our tests are called Test* while support files have other names.  Not sure if we have a hard-convention on this but it certainly is nice and helpful sometimes.

> Nice side-effect of not going through Java-to-native transition. The
> patch coincided with Zoltan trying to trim down on (fastdebug) testing
> time, so I mentioned that for fun.
> -Aleksey

More information about the hotspot-compiler-dev mailing list