提交 492a3f16 编写于 作者: R rriggs

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
上级 4a2e3592
...@@ -76,13 +76,13 @@ SUNWprivate_1.1 { ...@@ -76,13 +76,13 @@ SUNWprivate_1.1 {
Java_java_io_FileDescriptor_initIDs; Java_java_io_FileDescriptor_initIDs;
Java_java_io_FileDescriptor_sync; Java_java_io_FileDescriptor_sync;
Java_java_io_FileInputStream_available; Java_java_io_FileInputStream_available0;
Java_java_io_FileInputStream_close0; Java_java_io_FileInputStream_close0;
Java_java_io_FileInputStream_initIDs; Java_java_io_FileInputStream_initIDs;
Java_java_io_FileInputStream_open0; Java_java_io_FileInputStream_open0;
Java_java_io_FileInputStream_read0; Java_java_io_FileInputStream_read0;
Java_java_io_FileInputStream_readBytes; Java_java_io_FileInputStream_readBytes;
Java_java_io_FileInputStream_skip; Java_java_io_FileInputStream_skip0;
Java_java_io_FileOutputStream_close0; Java_java_io_FileOutputStream_close0;
Java_java_io_FileOutputStream_initIDs; Java_java_io_FileOutputStream_initIDs;
Java_java_io_FileOutputStream_open0; Java_java_io_FileOutputStream_open0;
......
...@@ -48,7 +48,7 @@ text: .text%Java_java_io_FileInputStream_open0; ...@@ -48,7 +48,7 @@ text: .text%Java_java_io_FileInputStream_open0;
text: .text%fileOpen; text: .text%fileOpen;
text: .text%Java_java_io_FileInputStream_readBytes; text: .text%Java_java_io_FileInputStream_readBytes;
text: .text%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_io_FileInputStream_close0;
text: .text%Java_java_lang_System_mapLibraryName; text: .text%Java_java_lang_System_mapLibraryName;
text: .text%Java_java_io_UnixFileSystem_getBooleanAttributes0; text: .text%Java_java_io_UnixFileSystem_getBooleanAttributes0;
......
...@@ -51,7 +51,7 @@ text: .text%Java_java_io_FileInputStream_open0; ...@@ -51,7 +51,7 @@ text: .text%Java_java_io_FileInputStream_open0;
text: .text%fileOpen; text: .text%fileOpen;
text: .text%Java_java_io_FileInputStream_readBytes; text: .text%Java_java_io_FileInputStream_readBytes;
text: .text%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_io_FileInputStream_close0;
text: .text%Java_java_lang_Compiler_registerNatives; text: .text%Java_java_lang_Compiler_registerNatives;
text: .text%Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedExceptionAction_2; text: .text%Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedExceptionAction_2;
......
...@@ -78,7 +78,7 @@ text: .text%Java_java_security_AccessController_doPrivileged__Ljava_security_Pri ...@@ -78,7 +78,7 @@ text: .text%Java_java_security_AccessController_doPrivileged__Ljava_security_Pri
text: .text%JNU_GetEnv; text: .text%JNU_GetEnv;
text: .text%Java_java_io_UnixFileSystem_checkAccess; text: .text%Java_java_io_UnixFileSystem_checkAccess;
text: .text%Java_sun_reflect_NativeMethodAccessorImpl_invoke0; 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_reflect_Array_newArray;
text: .text%Java_java_lang_Throwable_getStackTraceDepth; text: .text%Java_java_lang_Throwable_getStackTraceDepth;
text: .text%Java_java_lang_Throwable_getStackTraceElement; text: .text%Java_java_lang_Throwable_getStackTraceElement;
......
...@@ -279,7 +279,11 @@ class FileInputStream extends InputStream ...@@ -279,7 +279,11 @@ class FileInputStream extends InputStream
* @exception IOException if n is negative, if the stream does not * @exception IOException if n is negative, if the stream does not
* support seek, or if an I/O error occurs. * 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 * Returns an estimate of the number of remaining bytes that can be read (or
...@@ -298,7 +302,11 @@ class FileInputStream extends InputStream ...@@ -298,7 +302,11 @@ class FileInputStream extends InputStream
* @exception IOException if this file input stream has been closed by calling * @exception IOException if this file input stream has been closed by calling
* {@code close} or an I/O error occurs. * {@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 * Closes this file input stream and releases any system resources
......
...@@ -73,7 +73,7 @@ Java_java_io_FileInputStream_readBytes(JNIEnv *env, jobject this, ...@@ -73,7 +73,7 @@ Java_java_io_FileInputStream_readBytes(JNIEnv *env, jobject this,
} }
JNIEXPORT jlong JNICALL 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 cur = jlong_zero;
jlong end = jlong_zero; jlong end = jlong_zero;
FD fd = GET_FD(this, fis_fd); FD fd = GET_FD(this, fis_fd);
...@@ -90,7 +90,7 @@ Java_java_io_FileInputStream_skip(JNIEnv *env, jobject this, jlong toSkip) { ...@@ -90,7 +90,7 @@ Java_java_io_FileInputStream_skip(JNIEnv *env, jobject this, jlong toSkip) {
} }
JNIEXPORT jint JNICALL JNIEXPORT jint JNICALL
Java_java_io_FileInputStream_available(JNIEnv *env, jobject this) { Java_java_io_FileInputStream_available0(JNIEnv *env, jobject this) {
jlong ret; jlong ret;
FD fd = GET_FD(this, fis_fd); FD fd = GET_FD(this, fis_fd);
if (fd == -1) { if (fd == -1) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册