--- old/src/share/classes/java/util/zip/DeflaterOutputStream.java 2011-04-01 14:30:54.216546232 -0700 +++ new/src/share/classes/java/util/zip/DeflaterOutputStream.java 2011-04-01 14:30:53.955828604 -0700 @@ -206,15 +206,10 @@ return; } if (!def.finished()) { - // Deflate no more than stride bytes at a time. This avoids - // excess copying in deflateBytes (see Deflater.c) - int stride = buf.length; - for (int i = 0; i < len; i+= stride) { - def.setInput(b, off + i, Math.min(stride, len - i)); - while (!def.needsInput()) { - deflate(); - } - } + def.setInput(b, off, len); + while (!def.needsInput()) { + deflate(); + } } }