-
Bug
-
Resolution: Duplicate
-
P3
-
11, 12, 13
-
x86_64
-
linux_ubuntu
A DESCRIPTION OF THE PROBLEM :
jdk.internal.misc.Unsafe implements methods to read/write native memory in following fashion:
@ForceInline
public byte getByte(long address) {
return getByte(null, address);
}
As can be seen, a null value is passed on the stack without a reason.
To resolve this, the method should be defined as:
@HotSpotIntrinsicCandidate
public native byte getByte(long offset);
The reason to resolve this is because the current implementation is slower than the older one in eg. Java 8.
jdk.internal.misc.Unsafe implements methods to read/write native memory in following fashion:
@ForceInline
public byte getByte(long address) {
return getByte(null, address);
}
As can be seen, a null value is passed on the stack without a reason.
To resolve this, the method should be defined as:
@HotSpotIntrinsicCandidate
public native byte getByte(long offset);
The reason to resolve this is because the current implementation is slower than the older one in eg. Java 8.
- duplicates
-
JDK-8226396 C2: Redundant address computations for array accesses
- Open
-
JDK-8226409 Enable argument profiling for sun.misc.Unsafe.put*/get*
- Resolved
-
JDK-8226411 C2: Avoid memory barriers around off-heap unsafe accesses
- Resolved
- relates to
-
JDK-8226396 C2: Redundant address computations for array accesses
- Open
-
JDK-8176506 C2: loop unswitching and unsafe accesses cause crash
- Resolved
-
JDK-8181211 C2: Use profiling data to optimize on/off heap unsafe accesses
- Resolved
(1 relates to)