If I remember correctly ... CDS was disabled on the zero build because CDS used to require CPU-specific stubs for patching C++ vtable, which were removed in JDK-8005165. So CDS should be able to run on zero builds.
(After the fix)
$ 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% )
(After the fix)
$ 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% )
- relates to
-
JDK-8292329 Enable CDS shared heap for zero builds
-
- Resolved
-
-
JDK-8005165 Remove CPU-dependent code in self-patching vtables
-
- Resolved
-
-
JDK-8254710 BUILD_CDS_ARCHIVE is disabled when both minimal and server are enabled
-
- Closed
-