Looks good to me. /Magnus
> 22 juni 2020 kl. 12:39 skrev Vladimir Kempik <vkem...@azul.com>: > > Hello > Thanks for looking into this Magnus. > > Here is updated version of webrev - > http://cr.openjdk.java.net/~vkempik/8243470/webrev.01/ > effectively it does exactly the same as previous version, I have removed the > version check for clang. > > > Thanks, Vladimir > >> 4 июня 2020 г., в 16:04, Magnus Ihse Bursie <magnus.ihse.bur...@oracle.com> >> написал(а): >> >>> On 2020-06-03 20:07, Magnus Ihse Bursie wrote: >>> Thanks for cc:ing us. >>> >>> This is not the correct way to check for compiler versions. Nor is it the >>> correct place. >>> >>> I don't have time for a full reply tonight, but will return with a better >>> reply tomorrow. >> Ok, I have now looked more into this. >> >> You are apparently want to check for Xcode version, not clang version. This >> is not the same. Note that clang can be used on Linux as well. Apple is >> basically dropping the normal clang versioning and replacing it with their >> own, messed-up version which somewhat resembles the corresponding Xcode >> version, but is not identical. Horray. :-/ (For those interested, have a >> look at https://gist.github.com/yamaya/2924292.) >> >> Anyway. We do not support Xcode prior to 8. You seem to have tested from 8 >> and up, so this patch should be applied unconditionally. That is, just >> remove the -O1 special thing. >> >> /Magnus >>> >>> /Magnus >>> >>>> On 2020-06-03 19:47, Daniel D. Daugherty wrote: >>>> Adding build-dev@... since this is a build system change. >>>> >>>> As for the right HotSpot team, I'm not sure who should be making >>>> the call on changing the way unsafe.cpp is built for macOSX. My guess >>>> when I moved the bug to hotspot/runtime was that someone on the Runtime >>>> team would know, but... >>>> >>>> Dan >>>> >>>> >>>> >>>>> On 6/3/20 1:38 PM, Vladimir Kempik wrote: >>>>> Hello >>>>> >>>>> Can somebody please review this simple change ? >>>>> >>>>> Thanks >>>>> >>>>>> 6 мая 2020 г., в 12:43, Vladimir Kempik <vkem...@azul.com> написал(а): >>>>>> >>>>>> Adding hotspot-runtime-dev >>>>>> >>>>>>> 23 апр. 2020 г., в 18:26, Vladimir Kempik <vkem...@azul.com> написал(а): >>>>>>> >>>>>>> >>>>>>> Hello >>>>>>> Please review a fix for JDK-8243470 >>>>>>> >>>>>>> Long time ago as part of JEP284: New HotSpot Build System this fix was >>>>>>> applied to jdk9 https://bugs.openjdk.java.net/browse/JDK-8152666 >>>>>>> At that time it was decided to lower optimisation level for unsafe.cpp >>>>>>> from O2 to O1 only for clang on Macosx. >>>>>>> >>>>>>> I suppose it was done due to issues in Set/Get<Object> helper functions >>>>>>> where too optimistic optimisations were eliminating some null pointer >>>>>>> checks. it was probably a clang bug. >>>>>>> That issue could be checked with test jdk/test/sun/misc/CopyMemory.java. >>>>>>> >>>>>>> I believe that workaround (going from O2 to O1) produced this issue - >>>>>>> https://bugs.openjdk.java.net/browse/JDK-8234963 (Thread.getStackTrace >>>>>>> is slow with clang). >>>>>>> JDK-8234963 can only be seen on mac with libjvm compiled by clang. >>>>>>> >>>>>>> Here I propose the patch which eliminates that workaround for clang 8+. >>>>>>> >>>>>>> I have tested clang versions 8/9/9.1/10, all of them showed good >>>>>>> results: >>>>>>> 1) CopyMemory test passes fine on 11/14/15. >>>>>>> 2) jdk11/jdk14 passed tck. Regression testing were good as well. jdk15: >>>>>>> no new failures in tck. >>>>>>> 3) The testRandom "benchmark" from 8234963 shows great improvements on >>>>>>> my machine, going down from ~200 seconds to ~150 seconds (the newer >>>>>>> clang the better result). For comparision, gcc built libjvm for jdk11 >>>>>>> shows ~130 seconds on my machine. >>>>>>> >>>>>>> The webrev: http://cr.openjdk.java.net/~vkempik/8243470/webrev.00/ >>>>>>> >>>>>>> getStackTrace benchmark: >>>>>>> http://cr.openjdk.java.net/~vkempik/8243470/TestRandom.java >>>>>>> >>>>>>> The bug: https://bugs.openjdk.java.net/browse/JDK-8243470 >>>>>>> >>>>>>> Thanks, Vladimir >>>> >>> >