- 
    Bug 
- 
    Resolution: Duplicate
- 
     P3 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)