Codereview request for 7188852: Move implementation of De/Inflater.getBytesRead/Writtten() to java from native (original) (raw)
Alan Bateman Alan.Bateman at oracle.com
Fri Aug 3 18:16:59 UTC 2012
- Previous message: Codereview request for 7188852: Move implementation of De/Inflater.getBytesRead/Writtten() to java from native
- Next message: Codereview request for 7188852: Move implementation of De/Inflater.getBytesRead/Writtten() to java from native
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 02/08/2012 22:59, Xueming Shen wrote:
Hi
This is the change to move the implementation of De/Inflater.getBytesRead/Written() from native to Java. Current JDK implementation uses zlib's zstream.totalin/out fields, which are "uLong" type in original zlib source code. This may limit these two counters to 4GB on 32-bit OS [1]. These two fields are currently patched to "long long" in JDK to support the > 4G counting. It is suggested that it might be better to move this > 4G counting support to java level to remove the dependency on patching the original zlib source code, which might be critical in situation that Java runtime prefers to use OS bundled zlib, instead of the JDK bundled zlib library. Here is the webrev http://cr.openjdk.java.net/~sherman/7188852/webrev/ The test case attached only tests upto 128M by default (for running in auto testing). The test can be run manually with option "large" to test > 4G de/inflating. It takes > 4 minutes to compress/decompress 5G bytes on my linux box, guess it's probably not desirable to hold each/every run for so long in auto setting. I skimmed through this and the changes looks reasonable to me. The only thing is that ChangeLog_java is a bit confusing (to me anyway) and maybe it would be clearer it just have it list of the current changes to the zlib code.
-Alan.
- Previous message: Codereview request for 7188852: Move implementation of De/Inflater.getBytesRead/Writtten() to java from native
- Next message: Codereview request for 7188852: Move implementation of De/Inflater.getBytesRead/Writtten() to java from native
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]