On 2020-06-11 06:41, Magnus Ihse Bursie wrote:
On 2020-06-11 14:34, Erik Joelsson wrote:
I agree with the assessment, but I think the disabling should happen
in configure. That way the configure log can accurately tell the user
why it was disabled. This can be done by just adding another elif in
BPERF_SETUP_PRECOMPILED_HEADERS. To check for a jvm feature in
configure, you can use JVM_FEATURES_IS_ACTIVE(opt-size).
Actually, I'm not sure I agree with the assessment. Why does this only
happen for clang? Is it a problem when building with opt-size and pch
for other compilers?
If not, that's likely due to the problematic files being excluded from
PCH (if I remember correctly). I believe a better way forward would be
to make sure that files that are compiled with a different
optimization level should be excluded from PCH for clang as well.
Right, I just took a look and in JvmOverrideFiles.gmk we build a list of
files to exclude from precompiled header. We could just add
$(OPT_SPEED_SRC) to this list (as that variable is defined earlier in
JvmFeatures.gmk). OPT_SPEED_SRC is empty unless opt-size is true, so
just adding it to the list should be fine.
/Erik
/Magnus
/Erik
On 2020-06-11 02:25, jiefu(傅杰) wrote:
Hi all,
JBS: https://bugs.openjdk.java.net/browse/JDK-8247396
Webrev: http://cr.openjdk.java.net/~jiefu/8247396/webrev.00/
-O3 is used for clang on MacOS after JDK-8246751.
But it breaks the builds of VMs with opt-size feature when PCH is
enabled.
The reason is that the PCH was built with -Os while some other files
were built with -O3, which causes an error with clang.
It would be better to disable the PCH for opt-size builds.
Thanks a lot.
Best regards,
Jie