On 2020-06-05 13:59, Jim Laskey wrote:
I know there was a discussion about this elsewhere but I would like to take the 
opportunity to correct this now

make//autoconf/flags-cflags.m4:241

   elif test "x$TOOLCHAIN_TYPE" = xclang; then
     if test "x$OPENJDK_TARGET_OS" = xmacosx; then
       # On MacOSX we optimize for size, something
       # we should do for all platforms?
       C_O_FLAG_HIGHEST_JVM="-Os"
       C_O_FLAG_HIGHEST="-Os"
       C_O_FLAG_HI="-Os"
       C_O_FLAG_NORM="-Os"
       C_O_FLAG_DEBUG_JVM=""
     else
       C_O_FLAG_HIGHEST_JVM="-O3"
       C_O_FLAG_HIGHEST="-O3"
       C_O_FLAG_HI="-O3"
       C_O_FLAG_NORM="-O2"
       C_O_FLAG_DEBUG_JVM="-O0"
     fi
     C_O_FLAG_SIZE="-Os"
     C_O_FLAG_DEBUG="-O0"
     C_O_FLAG_NONE="-O0"
   elif test "x$TOOLCHAIN_TYPE" = xxlc; then

should be changed to

   elif test "x$TOOLCHAIN_TYPE" = xclang; then
     C_O_FLAG_HIGHEST_JVM="-O3"
     C_O_FLAG_HIGHEST="-O3"
     C_O_FLAG_HI="-O3"
     C_O_FLAG_NORM="-O2"
     C_O_FLAG_DEBUG_JVM="-O0"
     C_O_FLAG_SIZE="-Os"
     C_O_FLAG_DEBUG="-O0"
     C_O_FLAG_NONE="-O0"
   elif test "x$TOOLCHAIN_TYPE" = xxlc; then

MacOSX has been paying a historic and significant performance penalty for no 
valid reason.
This might be a valid change, but it has nothing to do with C++14, and changing it at the same time will increase risk for unrelated strange errors. Please open a separate JBS issue for this requested change.

/Magnus

Otherwise +1.

Cheers,

-- Jim



On Jun 5, 2020, at 4:52 AM, Kim Barrett <kim.barr...@oracle.com> wrote:

[Changes are only to the build system, but since the changes have jdk-wide
effect I’ve cc’d what I think are the relevant dev lists.]

This change is part of JEP 347; the intent is to target JDK 16.

Please review this change to the building of C++ code in the JDK to
enable the use of C++14 language features.  This change does not make
any code changes to use new features provided by C++11 or C++14.

This requires trimming the supported compiler versions, moving the
minimum supported versions forward (significantly, in some cases).
The new minimums are based on compiler documentation rather than
testing.  It may be that more recent versions are actually required.

This change needs to be tested on platforms not supported by Oracle.
The JEP test plan includes additional Oracle testing beyond what I’ve done.

CR:
https://bugs.openjdk.java.net/browse/JDK-8246032

Webrev:
https://cr.openjdk.java.net/~kbarrett/8246032/open.02/

Testing:
mach5 tier1-5 on Oracle supported platforms.

Performance testing showed no significant changes in either direction.

Build-only (no tests) for linux-arm32, linux-s390x, linux-ppc64le


Reply via email to