RFR 4947890 : Minimize JNI upcalls in system-properties initialization
Roger Riggs
Roger.Riggs at oracle.com
Wed Nov 14 21:02:13 UTC 2018
Hi Mandy,
The change does not make a measurable change in startup time.
The number of bytecodes executed in initPhase1 dropped from 60k to 50k
out of 850k.
Thanks, Roger
On 11/14/2018 12:25 PM, Mandy Chung wrote:
> Hi Roger,
>
> Does this change improve the startup performance? initProperties
> is done in initPhase1 where the Java code is running in interpreted
> mode. Brent did the measurement some time ago that JNI calls
> is one cost while executing quite a lot of bytecodes in
> interpreted mode is another cost.
>
> Mandy
>
> On 11/13/18 7:59 AM, Roger Riggs wrote:
>> Please review a re-implementation of the initialization of System
>> properties
>> moving some functions from native to Java.
>>
>> The upcalls from native to java for each property are replaced by a
>> mechanism
>> to gather the platform, VM and command line properties and return them
>> from a single JNI call. The creation of the Properties instance and
>> applying
>> command line overrides is handled in Java instead of native.
>>
>> The JVM_initProperties interface in Hotspot is replaced by
>> JVM_getProperties.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~rriggs/webrev-props-only-raw/
>>
>> Issue:
>> https://bugs.openjdk.java.net/browse/JDK-4947890
>>
>> Thanks, Roger
>>
>
More information about the hotspot-runtime-dev
mailing list