RFR: 8290981: Enable CDS for zero builds [v4]

Aleksey Shipilev shade at openjdk.org
Tue Aug 16 06:35:54 UTC 2022


On Mon, 15 Aug 2022 18:44:28 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> Enable CDS for zero builds. `java --version` is about 2x faster now.
>> 
>> 
>> $ perf stat -r 40 ./images/jdk/bin/java -Xshare:off -version
>> 0.034645 +- 0.000044 seconds time elapsed  ( +-  0.13% )
>> $ perf stat -r 40 ./images/jdk/bin/java -version
>> 0.018080 +- 0.000388 seconds time elapsed  ( +-  2.15% )
>> 
>> I also fixed a bug in Images.gmk that always wrote the default archive to $JAVA_HOME/lib/server. This fix also makes it possible for a client libjvm to have a default CDS archive.
>
> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:
> 
>   fixed copyright and whitespaces

Looks fine to me, with minor nits.

src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp line 2455:

> 2453:             if (cache->is_vfinal()) {
> 2454:               callee = cache->f2_as_vfinal_method();
> 2455:               if (REWRITE_BYTECODES && !UseSharedSpaces && !Arguments::is_dumping_archive()) {

As we discussed with @tstuefe in another thread, the use of `UseSharedSpaces` needs the explicit `#include` of `globals.hpp`.

test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestAutoCreateSharedArchiveNoDefaultArchive.java line 108:

> 106:         removeDefaultArchives(java_home_dst, "zero");
> 107:         removeDefaultArchives(java_home_dst, "server");
> 108:         removeDefaultArchives(java_home_dst, "zero");

What is the point of doing "zero" part twice?

-------------

Marked as reviewed by shade (Reviewer).

PR: https://git.openjdk.org/jdk/pull/9869



More information about the build-dev mailing list