RFR: 8203832: JWarmup precompile java hot methods at application startup
yumin qi
yumin.qi at gmail.com
Thu Mar 14 22:57:09 UTC 2019
Please review the patch for implementing JEP 8203832:
Bug: https://bugs.openjdk.java.net/browse/JDK-8203832
Webrev: http://cr.openjdk.java.net/~minqi/8203832/webrev-01/
Summary: This patch implements the first version of JIT warmup to
solve the java application peak time CPU contest between JIT compiler
threads and regula
r application java threads. The CPU contest is avoided by pre-run to
collect comilation data and precompile the hot java methods during
application startu
p based on the pre-run collected data.
The main flags (-XX:) used to control are:
CompilationWarmUpRecording: used for collecting compilation data.
Result stored in a file set by flag CompilationWarmUpLogfile.
CompilationWarmUp: use collected data to precompile the methods
recorded in above file.
CompilationWarmUpExclude: configure a file which contains the names to
be excluded for precompile.
CompilationWarmUpRecordTime: control the warmup recording time.
CompilationWarmUpDeoptTime: time (from start) to deoptimize precomiled methods.
In this version, the profiled method data is not used at
precomilation, it will be addressed in followed bug fix. After the
first version integrated, will file bug f
or it. Also, it does not work with CDS since the data added to
ConstantPool data structure. It also will be addressed in another
separate bug followed.
Test: Submitted to submit repo and passed all tests.
Newly added test suites: test/hotspot/jtreg/jwarmup include test
cases for most of the use cases and issues.
Thanks
Yumin
More information about the hotspot-dev
mailing list