building libjvm with -Os for space optimization - was : RE: RFR: 8234525: enable link-time section-gc for linux s390x to remove unused code
matthias.baesken at sap.com
Wed Nov 27 16:36:38 UTC 2019
Hello Martin, I checked building libjvm.so with -Os (instead of -O3) .
I used gcc-7 on linux x86_64 .
The size of libjvm.so dropped from 24M (normal night make with -O3) to 18M ( test make with -Os) .
(adding the link-time gc might reduce the size by another ~ 10 % , but those 2 builds were without the ltgc )
Cannot say much so far about performance impact .
Best regards, Matthias
> Hi Matthias and Erik,
> I also think this is an interesting option.
> I like the idea to generate smaller libraries. In addition to that, I could also
> imagine building with -Os (size optimized) by default and only select -O3 for
> performance critical files (e.g. C2's register allocation, some gc code, ...).
> If we want to go into such a direction for all linux platforms and want to use
> this s390 only change as some kind of pipe cleaner, I think this change is fine
> and can get pushed.
> Otherwise, I think building s390 differently and not intending to do the same
> for other linux platforms would be not so good.
> We should only make sure the exported symbols are set up properly to avoid
> that this optimization throws out too much.
> My 50 Cents.
> Best regards,
More information about the hotspot-dev