Reduced performance in Java 9.0.1 (vs 8u152)
Roland Westrelin
rwestrel at redhat.com
Thu Jan 4 17:08:06 UTC 2018
Hi Martin,
One thing I noticed that seems to affect performance is a change in the
implementation of Unsafe.copyMemory(). JDK-8149159 added some
verification code. Commenting out that verification code recovers some
of the performance and the compiled code for
Lz4RawDecompressor::decompress() is then much closer to that of the 8u
vm.
Roland.
diff --git a/src/java.base/share/classes/jdk/internal/misc/Unsafe.java b/src/java.base/share/classes/jdk/internal/misc/Unsafe.java
--- a/src/java.base/share/classes/jdk/internal/misc/Unsafe.java
+++ b/src/java.base/share/classes/jdk/internal/misc/Unsafe.java
@@ -779,11 +779,11 @@
public void copyMemory(Object srcBase, long srcOffset,
Object destBase, long destOffset,
long bytes) {
- copyMemoryChecks(srcBase, srcOffset, destBase, destOffset, bytes);
-
- if (bytes == 0) {
- return;
- }
+ // copyMemoryChecks(srcBase, srcOffset, destBase, destOffset, bytes);
+
+ // if (bytes == 0) {
+ // return;
+ // }
copyMemory0(srcBase, srcOffset, destBase, destOffset, bytes);
}
More information about the hotspot-compiler-dev
mailing list