8169556: Wrapping of FileInputStream's native skip and available methods
Summary: Wrap further native methods in FileInputStreams
Reviewed-by: chegar, bpb, rriggs
Contributed-by: sunny.chan@gs.com
--- a/jdk/make/mapfiles/libjava/mapfile-vers Mon Nov 14 10:07:10 2016 +0100
+++ b/jdk/make/mapfiles/libjava/mapfile-vers Thu Jan 28 23:13:50 2016 -0500
@@ -77,13 +77,13 @@
Java_java_io_FileDescriptor_initIDs;
Java_java_io_FileDescriptor_sync;
Java_java_io_FileDescriptor_getAppend;
- Java_java_io_FileInputStream_available;
+ Java_java_io_FileInputStream_available0;
Java_java_io_FileInputStream_close0;
Java_java_io_FileInputStream_initIDs;
Java_java_io_FileInputStream_open0;
Java_java_io_FileInputStream_read0;
Java_java_io_FileInputStream_readBytes;
- Java_java_io_FileInputStream_skip;
+ Java_java_io_FileInputStream_skip0;
Java_java_io_FileOutputStream_close0;
Java_java_io_FileOutputStream_initIDs;
Java_java_io_FileOutputStream_open0;
--- a/jdk/make/mapfiles/libjava/reorder-sparc Mon Nov 14 10:07:10 2016 +0100
+++ b/jdk/make/mapfiles/libjava/reorder-sparc Thu Jan 28 23:13:50 2016 -0500
@@ -44,7 +44,7 @@
text: .text%fileOpen;
text: .text%Java_java_io_FileInputStream_readBytes;
text: .text%readBytes;
-text: .text%Java_java_io_FileInputStream_available;
+text: .text%Java_java_io_FileInputStream_available0;
text: .text%Java_java_io_FileInputStream_close0;
text: .text%Java_java_lang_System_mapLibraryName;
text: .text%Java_java_io_UnixFileSystem_getBooleanAttributes0;
--- a/jdk/make/mapfiles/libjava/reorder-sparcv9 Mon Nov 14 10:07:10 2016 +0100
+++ b/jdk/make/mapfiles/libjava/reorder-sparcv9 Thu Jan 28 23:13:50 2016 -0500
@@ -48,7 +48,7 @@
text: .text%fileOpen;
text: .text%Java_java_io_FileInputStream_readBytes;
text: .text%readBytes;
-text: .text%Java_java_io_FileInputStream_available;
+text: .text%Java_java_io_FileInputStream_available0;
text: .text%Java_java_io_FileInputStream_close0;
text: .text%Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedExceptionAction_2;
text: .text%Java_java_io_UnixFileSystem_list;
--- a/jdk/make/mapfiles/libjava/reorder-x86 Mon Nov 14 10:07:10 2016 +0100
+++ b/jdk/make/mapfiles/libjava/reorder-x86 Thu Jan 28 23:13:50 2016 -0500
@@ -76,7 +76,7 @@
text: .text%JNU_GetEnv;
text: .text%Java_java_io_UnixFileSystem_checkAccess;
text: .text%Java_sun_reflect_NativeMethodAccessorImpl_invoke0;
-text: .text%Java_java_io_FileInputStream_available;
+text: .text%Java_java_io_FileInputStream_available0;
text: .text%Java_java_lang_reflect_Array_newArray;
text: .text%Java_java_lang_StackTraceElement_initStackTraceElements;
text: .text%Java_java_lang_System_identityHashCode;
--- a/jdk/src/java.base/share/classes/java/io/FileInputStream.java Mon Nov 14 10:07:10 2016 +0100
+++ b/jdk/src/java.base/share/classes/java/io/FileInputStream.java Thu Jan 28 23:13:50 2016 -0500
@@ -280,7 +280,11 @@
* @exception IOException if n is negative, if the stream does not
* support seek, or if an I/O error occurs.
*/
- public native long skip(long n) throws IOException;
+ public long skip(long n) throws IOException {
+ return skip0(n);
+ }
+
+ private native long skip0(long n) throws IOException;
/**
* Returns an estimate of the number of remaining bytes that can be read (or
@@ -299,7 +303,11 @@
* @exception IOException if this file input stream has been closed by calling
* {@code close} or an I/O error occurs.
*/
- public native int available() throws IOException;
+ public int available() throws IOException {
+ return available0();
+ }
+
+ private native int available0() throws IOException;
/**
* Closes this file input stream and releases any system resources
--- a/jdk/src/java.base/share/native/libjava/FileInputStream.c Mon Nov 14 10:07:10 2016 +0100
+++ b/jdk/src/java.base/share/native/libjava/FileInputStream.c Thu Jan 28 23:13:50 2016 -0500
@@ -73,7 +73,7 @@
}
JNIEXPORT jlong JNICALL
-Java_java_io_FileInputStream_skip(JNIEnv *env, jobject this, jlong toSkip) {
+Java_java_io_FileInputStream_skip0(JNIEnv *env, jobject this, jlong toSkip) {
jlong cur = jlong_zero;
jlong end = jlong_zero;
FD fd = GET_FD(this, fis_fd);
@@ -90,7 +90,7 @@
}
JNIEXPORT jint JNICALL
-Java_java_io_FileInputStream_available(JNIEnv *env, jobject this) {
+Java_java_io_FileInputStream_available0(JNIEnv *env, jobject this) {
jlong ret;
FD fd = GET_FD(this, fis_fd);
if (fd == -1) {