RFR: 8246032: Implementation of JEP 347: Adopt C++14 Language Features in HotSpot

James Laskey james.laskey at oracle.com
Sat Jun 6 07:24:57 UTC 2020


I fully understand. I’ll set up a separate bug. 

Cheers,

— Jim

📱

> On Jun 5, 2020, at 8:57 PM, Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com> wrote:
> 
> 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 build-dev mailing list