--- old/src/java.base/share/classes/java/util/zip/Inflater.java 2017-12-18 09:01:07.039320687 +0100 +++ new/src/java.base/share/classes/java/util/zip/Inflater.java 2017-12-18 09:01:06.892319899 +0100 @@ -118,7 +118,7 @@ * @param nowrap if true then support GZIP compatible compression */ public Inflater(boolean nowrap) { - this.zsRef = InflaterZStreamRef.get(this, init(nowrap)); + this.zsRef = InflaterZStreamRef.get(this, nowrap); } /** @@ -442,9 +442,9 @@ private long address; private final Cleanable cleanable; - private InflaterZStreamRef(Inflater owner, long addr) { + private InflaterZStreamRef(Inflater owner, boolean nowrap) { this.cleanable = (owner != null) ? CleanerFactory.cleaner().register(owner, this) : null; - this.address = addr; + this.address = init(nowrap); } long address() { @@ -470,23 +470,23 @@ * This mechanism will be removed when the {@code finalize} method is * removed from {@code Inflater}. */ - static InflaterZStreamRef get(Inflater owner, long addr) { + static InflaterZStreamRef get(Inflater owner, boolean nowrap) { Class clz = owner.getClass(); while (clz != Inflater.class) { try { clz.getDeclaredMethod("end"); - return new FinalizableZStreamRef(owner, addr); + return new FinalizableZStreamRef(owner, nowrap); } catch (NoSuchMethodException nsme) {} clz = clz.getSuperclass(); } - return new InflaterZStreamRef(owner, addr); + return new InflaterZStreamRef(owner, nowrap); } private static class FinalizableZStreamRef extends InflaterZStreamRef { final Inflater owner; - FinalizableZStreamRef(Inflater owner, long addr) { - super(null, addr); + FinalizableZStreamRef(Inflater owner, boolean nowrap) { + super(null, nowrap); this.owner = owner; }