Request for enhancement backport approval for JDK-8206183: Possible construct EMPTY_STACK and allocation stack, etc. on first use.

Leslie Zhai zhaixiang at loongson.cn
Thu Sep 20 22:45:43 UTC 2018


Hi all,

I would like to backport the enhancement for:

https://bugs.openjdk.java.net/browse/JDK-8206183

To OpenJDK 8 updates dev:

http://hg.openjdk.java.net/jdk8u/jdk8u-dev

The enhancement is mostly the same as the version that was committed in 12.

A patch by Loongson!  Please sponsor it, thanks a lot!

----- 8< -------- 8< -------- 8< -------- 8< -------- 8< -------- 8< ---

jtreg test on Linux 4.13.16-100.fc25.x86_64, hotspot rebase on 
8724:7a6239517d46

0. applied the patch, compiled with clang-8 [1]

1. without patch, compiled with gcc-9 [2]

2. without patch, compiled with gcc-6.4.3 [3]

jtdiff /home/xiangzhai/project/./jtreg-8724-clang-8-dev/hotspot/JTwork/ 
/home/xiangzhai/project/./jtreg-8724-gcc-9-dev/hotspot/JTwork/ 
/home/xiangzhai/project/./jtreg-8724-gcc-6/hotspot/JTwork/
0: /home/xiangzhai/project/./jtreg-8724-clang-8-dev/hotspot/JTwork pass: 
686; fail: 43; error: 3; not run: 22
1: /home/xiangzhai/project/./jtreg-8724-gcc-9-dev/hotspot/JTwork pass: 
684; fail: 44; error: 4; not run: 22
2: /home/xiangzhai/project/./jtreg-8724-gcc-6/hotspot/JTwork pass: 687; 
fail: 42; error: 3; not run: 22

0      1      2      Test
fail   fail   pass   compiler/5091921/Test6559156.java
fail   fail   pass   compiler/5091921/Test6890943.java
pass   fail   fail   gc/g1/TestShrinkAuxiliaryData10.java
pass   fail   fail   gc/g1/TestShrinkAuxiliaryData15.java
pass   fail   fail   gc/g1/TestShrinkAuxiliaryData20.java
fail   pass   pass runtime/SharedArchiveFile/LimitSharedSizes.java
fail   pass   pass runtime/SharedArchiveFile/SpaceUtilizationCheck.java
pass   error  pass serviceability/sa/jmap-hashcode/Test8028623.java

8 differences
jtdiff 
/home/xiangzhai/project/./jtreg-8724-clang-8-dev/langtools/JTwork/ 
/home/xiangzhai/project/./jtreg-8724-gcc-9-dev/langtools/JTwork/ 
/home/xiangzhai/project/./jtreg-8724-gcc-6/langtools/JTwork/
0: /home/xiangzhai/project/./jtreg-8724-clang-8-dev/langtools/JTwork 
pass: 3,111; fail: 2; not run: 11
1: /home/xiangzhai/project/./jtreg-8724-gcc-9-dev/langtools/JTwork pass: 
3,111; fail: 2; not run: 11
2: /home/xiangzhai/project/./jtreg-8724-gcc-6/langtools/JTwork pass: 
3,111; fail: 2; not run: 11

No differences
jtdiff /home/xiangzhai/project/./jtreg-8724-clang-8-dev/jdk/JTwork/ 
/home/xiangzhai/project/./jtreg-8724-gcc-9-dev/jdk/JTwork/ 
/home/xiangzhai/project/./jtreg-8724-gcc-6/jdk/JTwork/
0: /home/xiangzhai/project/./jtreg-8724-clang-8-dev/jdk/JTwork pass: 
5,091; fail: 38; error: 14; not run: 1,153
1: /home/xiangzhai/project/./jtreg-8724-gcc-9-dev/jdk/JTwork pass: 
5,102; fail: 38; error: 3; not run: 1,153
2: /home/xiangzhai/project/./jtreg-8724-gcc-6/jdk/JTwork  pass: 5,101; 
fail: 38; error: 4; not run: 1,153

0      1      2      Test
pass   pass   error  java/nio/Buffer/Basic.java
error  pass   pass 
java/util/concurrent/BlockingQueue/CancelledProducerConsumerLoops.java
error  pass   pass 
java/util/concurrent/BlockingQueue/MultipleProducersSingleConsumerLoops.java
error  pass   pass 
java/util/concurrent/BlockingQueue/ProducerConsumerLoops.java
error  pass   pass 
java/util/concurrent/ConcurrentQueues/ConcurrentQueueLoops.java
error  pass   pass java/util/concurrent/Exchanger/ExchangeLoops.java
error  pass   pass 
java/util/concurrent/ExecutorCompletionService/ExecutorCompletionServiceLoops.java
error  pass   pass java/util/concurrent/FutureTask/CancelledFutureLoops.java
error  pass   pass 
java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java
error  pass   pass 
java/util/concurrent/locks/ReentrantLock/LockOncePerThreadLoops.java
error  pass   pass 
java/util/concurrent/locks/ReentrantLock/SimpleReentrantLockLoops.java
error  pass   pass 
java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java
error  pass   pass 
java/util/concurrent/locks/ReentrantReadWriteLock/MapLoops.java
pass   error  error sun/tools/jstatd/TestJstatdExternalRegistry.java

14 differences


[1] $ clang -v
LLVM China clang version 8.0.0 (git at github.com:llvm-mirror/clang.git 
7f223b8fbf26fa0e4d8f98847a53c4ba457720f0) 
(git at github.com:llvm-mirror/llvm.git 
841e300fb15be4f9931d18d2f24f48cb59ef24a8) (based on LLVM 8.0.0svn)
Target: x86_64-redhat-linux
Thread model: posix
InstalledDir: /opt/llvm-git/bin
Found candidate GCC installation: /usr/lib/gcc/i686-redhat-linux/6.4.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/6.4.1
Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/6.4.1
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64

[2] $ gcc -v
Using built-in specs.
COLLECT_GCC=/opt/gcc-git/bin/gcc
COLLECT_LTO_WRAPPER=/opt/gcc-git/libexec/gcc/x86_64-redhat-linux-gnu/9.0.0/lto-wrapper 

Target: x86_64-redhat-linux-gnu
Configured with: ../configure --target=x86_64-redhat-linux-gnu 
--host=x86_64-redhat-linux-gnu --build=x86_64-redhat-linux-gnu 
--with-cpu=generic --prefix=/opt/gcc-git --enable-bootstrap 
--enable-shared --enable-threads=posix --enable-checking=release 
--enable-languages=c,c++,lto,go,fortran --enable-plugin 
--enable-initfini-array --enable-gnu-unique-object 
--enable-linker-build-id --with-linker-hash-style=gnu 
--enable-__cxa_atexit --enable-gnu-indirect-function --enable-c99 
--enable-long-long --enable-libgomp --enable-lto --enable-libsanitizer 
--enable-libatomic --enable-libquadmath --enable-libitm 
--enable-libcilkrts --enable-libmpx --enable-symvers 
--disable-libstdcxx-pch --disable-multilib --disable-libunwind-exceptions
Thread model: posix
gcc version 9.0.0 20180912 (LLVM China experimental) (GCC)

[3] $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/6.4.1/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap 
--enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr 
--mandir=/usr/share/man --infodir=/usr/share/info 
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared 
--enable-threads=posix --enable-checking=release --enable-multilib 
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions 
--enable-gnu-unique-object --enable-linker-build-id 
--with-linker-hash-style=gnu --enable-plugin --enable-initfini-array 
--disable-libgcj --with-isl --enable-libmpx 
--enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 
--build=x86_64-redhat-linux
Thread model: posix
gcc version 6.4.1 20170727 (Red Hat 6.4.1-1) (GCC)

-- 
Regards,
Leslie Zhai

-------------- next part --------------
A non-text attachment was scrubbed...
Name: JDK-8206183-8u.patch
Type: text/x-patch
Size: 8996 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/jdk8u-dev/attachments/20180921/ad2217bb/JDK-8206183-8u.patch>


More information about the jdk8u-dev mailing list