Hi Lucy,
On Oct 4, 2016, at 10:24 AM, Lu, Yingqi <[email protected]> wrote:
> Anyone else has any feedback/comments?
I looked over the 8164900-2 patch and did not see any conceptual problems per
se. I did not however scrutinize all the detailed changes, especially the more
extensive ones in FileDispatcherImpl.c. I did however run the patch through our
regression tests for IO and NIO and encountered some problems. Firstly the
patch breaks the build on OS X [1], Solaris [2], and Windows [3]. Note that the
code under src/java.base/unix is built on all Unix systems including Linux, OS
X, and Solaris. Secondly but of lesser note there were some warnings during the
Linux build [4]. Otherwise the IO and NIO tests succeeded on Linux, but that
only suggests that pre-existing functionality is preserved as those tests of
course do not exercise the new code for which I suppose tests will be provided
in the final version of the patch.
Regards,
Brian
[1] OS X
build/macosx-x64/support/gensrc/java.base/sun/nio/fs/UnixConstants.java:41:
error: self-reference in initializer
static final int O_DIRECT = O_DIRECT;
^
[2] Solaris
build/solaris-x64/support/gensrc/java.base/sun/nio/fs/UnixConstants.java:41:
error: self-reference in initializer
static final int O_DIRECT = O_DIRECT;
^
[3] Windows
jdk\src\java.base\windows\classes\java\io\FileDescriptor.java:76: error:
<anonymous java.io.FileDescriptor$1> is not abstract and does not override
abstract method getDirect(FileDescriptor) in JavaIOFileDescriptorAccess
new JavaIOFileDescriptorAccess() {
^
[4] Linux (Ubuntu 16.04 amd64 desktop)
jdk/src/java.base/unix/native/libnio/ch/FileDispatcherImpl.c: In function
‘readDirect’:
jdk/src/java.base/unix/native/libnio/ch/FileDispatcherImpl.c:104:5: warning:
ignoring return value of ‘posix_memalign’, declared with attribute
warn_unused_result [-Wunused-result]
posix_memalign(&bytes, pageSize, newLen);
^
jdk/src/java.base/unix/native/libnio/ch/FileDispatcherImpl.c: In function
‘writeDirect’:
jdk/src/java.base/unix/native/libnio/ch/FileDispatcherImpl.c:131:5: warning:
ignoring return value of ‘posix_memalign’, declared with attribute
warn_unused_result [-Wunused-result]
posix_memalign(&bytes, pageSize, len);
^
jdk/src/java.base/unix/native/libnio/ch/FileDispatcherImpl.c: In function
‘Java_sun_nio_ch_FileDispatcherImpl_readvDirect0’:
jdk/src/java.base/unix/native/libnio/ch/FileDispatcherImpl.c:250:5: warning:
ignoring return value of ‘posix_memalign’, declared with attribute
warn_unused_result [-Wunused-result]
posix_memalign(&bytes, pageSize, newLen);
^
jdk/src/java.base/unix/native/libnio/ch/FileDispatcherImpl.c: In function
‘Java_sun_nio_ch_FileDispatcherImpl_writevDirect0’:
jdk/src/java.base/unix/native/libnio/ch/FileDispatcherImpl.c:393:5: warning:
ignoring return value of ‘posix_memalign’, declared with attribute
warn_unused_result [-Wunused-result]
posix_memalign(&bytes, pageSize, totalLen)