RFR 8047737 Move array component mirror to instance of java/lang/Class

Coleen Phillimore coleen.phillimore at oracle.com
Mon Jun 30 12:42:56 UTC 2014

On 6/30/14, 1:55 AM, David Holmes wrote:
> Hi Coleen,
> Your webrev links are to internal locations.

Sorry, I cut/pasted the wrong links.  They are:


and the full version


Thank you for pointing this out David.


> David
> On 28/06/2014 5:24 AM, Coleen Phillimore wrote:
>> Summary: Add field in java.lang.Class for componentType to simplify oop
>> processing and intrinsics in JVM
>> This is part of ongoing work to clean up oop pointers in the metadata
>> and simplify the interface between the JDK j.l.C and the JVM. There's a
>> performance benefit at the end of all of this if we can remove all oop
>> pointers from metadata.   mirror in Klass is the only one left after
>> this full change.
>> See bug https://bugs.openjdk.java.net/browse/JDK-8047737
>> There are a couple steps to this change because Hotspot testing is done
>> with promoted JDKs.  The first step is this webrev:
>> http://oklahoma.us.oracle.com/~cphillim/webrev/8047737_jdk/
>> http://oklahoma.us.oracle.com/~cphillim/webrev/8047737_hotspot/
>> When the JDK is promoted, the code to remove
>> ArrayKlass::_component_mirror will be changed under a new bug id.
>> http://oklahoma.us.oracle.com/~cphillim/webrev/8047737_hotspot_full
>> Finally, a compatibility request and licensee notification will occur to
>> remove the function JVM_GetComponentType.
>> Performance testing was done that shows no difference in performance.
>> The isArray() call is a compiler intrinsic which is now called instead
>> of getComponentType, which was recognized as a compiler intrinsic.
>> JDK jtreg testing, hotspot jtreg testing, hotspot NSK testing and jck8
>> tests were performed on both the change requested (1st one) and the full
>> change.
>> hotspot NSK tests were run on the hotspot-only change with a promoted 
>> JDK.
>> Please send your comments.
>> Thanks,
>> Coleen

More information about the core-libs-dev mailing list