RFR 6642881: Improve performance of Class.getClassLoader()
Coleen Phillimore
coleen.phillimore at oracle.com
Mon Jun 16 22:45:56 UTC 2014
Thanks Vladimir, Lois and Alan.
Coleen
On 6/16/14, 2:09 PM, Vladimir Ivanov wrote:
> Looks good.
>
> Best regards,
> Vladimir Ivanov
>
> On 6/16/14 7:42 PM, Coleen Phillimore wrote:
>> Summary: Add classLoader to java/lang/Class instance for fast access
>>
>> In order to improve performance of Class.getClassLoader() in a way to
>> allow the compilers to automatically optimize this call, I added the
>> classLoader to the instance of java/lang/Class. For microbenchmarks,
>> this results in a 98% improvement, which was expected. For Oracle
>> internal applications, this results in a 10-12% improvement on
>> solaris/sparc. The increase in size of java/lang/Class can be offset
>> by other changes (removing constant pool lock, or removing signers).
>>
>> See bug link https://bugs.openjdk.java.net/browse/JDK-6642881 and
>> associated linked bugs for more details.
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/6642881_hotspot/
>> open webrev at http://cr.openjdk.java.net/~coleenp/6642881_jdk/
>>
>> There is both hotspot and jdk changes for this change. The hotspot
>> changes can work without the jdk changes (check for optional field), but
>> not vice-versa. I'll file another bug (and compatibility request) to
>> remove JVM_GetClassLoader from hotspot.
>>
>> Tested with jck lang, vm, api/java_lang tests with/without jdk change,
>> nsk vm.quick.testlist and hotspot jtreg tests, and jprt.
>>
>> Thanks,
>> Coleen
>>
>>
More information about the jdk9-dev
mailing list