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

2020-06-06 Thread Hendrik Schreiber
Jim,

if there isn’t a dedicated bug report for this (meaning: lack of optimization 
for macOS), please do create one so that it at least is documented somewhere.

Thank you,

-hendrik

> On Jun 5, 2020, at 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.
> 
> Otherwise +1.
> 
> Cheers,
> 
> -- Jim
> 
> 
> 
>> On Jun 5, 2020, at 4:52 AM, Kim Barrett > > 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
>> 
> 



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

2020-06-06 Thread James Laskey
I fully understand. I’ll set up a separate bug. 

Cheers,

— Jim



> On Jun 5, 2020, at 8:57 PM, Magnus Ihse Bursie 
>  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  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
>>> 
>