--- old/src/java.base/unix/classes/sun/nio/ch/FileDispatcherImpl.java 2016-09-29 14:26:27.416927331 -0700 +++ new/src/java.base/unix/classes/sun/nio/ch/FileDispatcherImpl.java 2016-09-29 14:26:27.310927330 -0700 @@ -30,6 +30,8 @@ class FileDispatcherImpl extends FileDispatcher { + private int pageSize = -1; + static { IOUtil.load(); init(); @@ -52,6 +54,20 @@ return readv0(fd, address, len); } + int readDirect(FileDescriptor fd, long address, int len) throws IOException { + return readDirect0(fd, address, len); + } + + int preadDirect(FileDescriptor fd, long address, int len, long position) + throws IOException + { + return preadDirect0(fd, address, len, position); + } + + long readvDirect(FileDescriptor fd, long address, int len) throws IOException { + return readvDirect0(fd, address, len); + } + int write(FileDescriptor fd, long address, int len) throws IOException { return write0(fd, address, len); } @@ -68,6 +84,22 @@ return writev0(fd, address, len); } + int writeDirect(FileDescriptor fd, long address, int len) throws IOException { + return writeDirect0(fd, address, len); + } + + int pwriteDirect(FileDescriptor fd, long address, int len, long position) + throws IOException + { + return pwriteDirect0(fd, address, len, position); + } + + long writevDirect(FileDescriptor fd, long address, int len) + throws IOException + { + return writevDirect0(fd, address, len); + } + int force(FileDescriptor fd, boolean metaData) throws IOException { return force0(fd, metaData); } @@ -123,6 +155,15 @@ static native long readv0(FileDescriptor fd, long address, int len) throws IOException; + static native int readDirect0(FileDescriptor fd, long address, int len) + throws IOException; + + static native int preadDirect0(FileDescriptor fd, long address, int len, + long position) throws IOException; + + static native long readvDirect0(FileDescriptor fd, long address, int len) + throws IOException; + static native int write0(FileDescriptor fd, long address, int len) throws IOException; @@ -132,6 +173,15 @@ static native long writev0(FileDescriptor fd, long address, int len) throws IOException; + static native int writeDirect0(FileDescriptor fd, long address, int len) + throws IOException; + + static native int pwriteDirect0(FileDescriptor fd, long address, int len, + long position) throws IOException; + + static native long writevDirect0(FileDescriptor fd, long address, int len) + throws IOException; + static native int force0(FileDescriptor fd, boolean metaData) throws IOException; @@ -153,5 +203,4 @@ static native void closeIntFD(int fd) throws IOException; static native void init(); - }