--- old/src/java.base/share/native/libjava/io_util.h 2016-08-25 17:51:53.933564698 -0700 +++ new/src/java.base/share/native/libjava/io_util.h 2016-08-25 17:51:53.828564697 -0700 @@ -29,6 +29,7 @@ extern jfieldID IO_fd_fdID; extern jfieldID IO_handle_fdID; extern jfieldID IO_append_fdID; +extern jfieldID IO_pgsz_fdID; #ifdef _ALLBSD_SOURCE #include @@ -50,9 +51,13 @@ jint readSingle(JNIEnv *env, jobject this, jfieldID fid); jint readBytes(JNIEnv *env, jobject this, jbyteArray bytes, jint off, jint len, jfieldID fid); +jint readBytesD(JNIEnv *env, jobject this, jbyteArray bytes, jint off, + jint len, jfieldID fid, jfieldID pgsz_id); void writeSingle(JNIEnv *env, jobject this, jint byte, jboolean append, jfieldID fid); void writeBytes(JNIEnv *env, jobject this, jbyteArray bytes, jint off, jint len, jboolean append, jfieldID fid); +void writeBytesD(JNIEnv *env, jobject this, jbyteArray bytes, jint off, + jint len, jboolean append, jfieldID fid, jfieldID pgsz_id); void fileOpen(JNIEnv *env, jobject this, jstring path, jfieldID fid, int flags); void throwFileNotFoundException(JNIEnv *env, jstring path); @@ -127,3 +132,6 @@ (*(env))->ReleaseStringChars(env, _##var##str, var); \ _##var##end: ; \ } else ((void)NULL) + +#define GET_PG_SIZE(this, IO_pgsz_fdID) \ + (*env)->GetIntField(env, (this), (IO_pgsz_fdID))