[OpenJDK 2D-Dev] RFR: 8246032: Implementation of JEP 347: Adopt C++14 Language Features in HotSpot

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri Jun 5 23:57:25 UTC 2020


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.barrett at 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
>>



More information about the 2d-dev mailing list