Given the discussion regarding lto on hotspot and the extreme increased build time, have you noticed any difference in build times with this patch?

/Erik

On 2020-01-15 00:27, Baesken, Matthias wrote:
Hi Erik, thanks for the review and for forwarding ,  you are correct  
corelibs-dev is probably  interested in this as well .

Best regards, Matthias


(adding core-libs-dev)

Change looks good to me, but would like input from at least someone in
core-libs.

/Erik

On 2020-01-14 06:07, Baesken, Matthias wrote:
Hello,  the following change enables the  link-time section-gc for linux .

gcc and ld support enabling "garbage collection" of unused input sections.
This can be used to eliminate unused coding from native libraries
(especially when already compiling the objects with compiler flags -ffunction-
sections -fdata-sections .
See for details the --gc-sections and --print-gc-sections parts of the ld
documentation :
https://linux.die.net/man/1/ld


We had this enabled already  for  linux s390x ,  with
https://bugs.openjdk.java.net/browse/JDK-8234525
8234525: enable link-time section-gc for linux s390x to remove unused code
.
This  time we enable it too for  the other linux platforms .

For the other platforms I do not enable it for JVM, just for the JDK libs.  The
reason is that the serviceability agent  (not supported on linux s390x )    is 
not
(yet) ready for the optimization .
Below you see the results , for some libraries  a significant  size reduction
can be achieved .

Results from linux x86_64 product builds :

without / with ltgc

320K / 300K    /images/jdk/lib/libsunec.so       <-------------------------
36K  / 36K     /images/jdk/lib/libdt_socket.so
280K / 276K   /images/jdk/lib/libjdwp.so
23M  / 23M    /images/jdk/lib/server/libjvm.so    <---- not set for libjvm.so
for x86_64
16K  / 16K    /images/jdk/lib/server/libjsig.so
72K  / 72M    /images/jdk/lib/libverify.so
84K  / 84M   /images/jdk/lib/libjli.so
16K  / 16K    /images/jdk/lib/libjsig.so
196K / 196K   /images/jdk/lib/libjava.so
44K  / 44K    /images/jdk/lib/libzip.so
144K / 136K   /images/jdk/lib/libjimage.so
112K / 112K   /images/jdk/lib/libnet.so
100K / 100K   /images/jdk/lib/libnio.so
36K  / 36K    /images/jdk/lib/libsctp.so
576K / 556K   /images/jdk/lib/libmlib_image.so
752K / 752K   /images/jdk/lib/libawt.so
260K / 252K   /images/jdk/lib/libjavajpeg.so
784K / 784K   /images/jdk/lib/libfreetype.so
368K / 236K /images/jdk/lib/libsplashscreen.so   <-------------------------
88K / 88K    /images/jdk/lib/libjsound.so
472K / 468K    /images/jdk/lib/libawt_xawt.so
564K / 404K   /images/jdk/lib/liblcms.so         <--------------------------
48K / 48K    /images/jdk/lib/libawt_headless.so
12K / 12K    /images/jdk/lib/libjawt.so
1.5M / 900K   /images/jdk/lib/libfontmanager.so  <------------------------------
12K / 12K    /images/jdk/lib/libjaas.so
92K / 92K    /images/jdk/lib/libj2pkcs11.so
16K / 16K    /images/jdk/lib/libattach.so
8.0K / 8.0K   /images/jdk/lib/librmi.so
56K / 56K    /images/jdk/lib/libinstrument.so
16K / 16K    /images/jdk/lib/libprefs.so
52K / 52K    /images/jdk/lib/libj2gss.so
12K / 12K    /images/jdk/lib/libmanagement_agent.so
36K / 32K    /images/jdk/lib/libmanagement.so
16K / 16K    /images/jdk/lib/libextnet.so
20K / 20K    /images/jdk/lib/libj2pcsc.so
40K / 40K    /images/jdk/lib/libmanagement_ext.so
60K / 60K    /images/jdk/lib/libsaproc.so


Bug/webrev :

https://bugs.openjdk.java.net/browse/JDK-8236714

http://cr.openjdk.java.net/~mbaesken/webrevs/8236714.2/


Thanks, Matthias

Reply via email to