--- old/src/java.base/share/classes/sun/nio/fs/NativeBuffer.java 2016-02-25 10:10:24.860075737 +0100 +++ new/src/java.base/share/classes/sun/nio/fs/NativeBuffer.java 2016-02-25 10:10:24.769075257 +0100 @@ -26,7 +26,9 @@ package sun.nio.fs; import jdk.internal.misc.Unsafe; -import jdk.internal.ref.Cleaner; +import jdk.internal.ref.CleanerFactory; + +import java.lang.ref.Cleaner; /** * A light-weight buffer in native memory. @@ -37,7 +39,7 @@ private final long address; private final int size; - private final Cleaner cleaner; + private final Cleaner.Cleanable cleanable; // optional "owner" to avoid copying // (only safe for use by thread-local caches) @@ -56,7 +58,7 @@ NativeBuffer(int size) { this.address = unsafe.allocateMemory(size); this.size = size; - this.cleaner = Cleaner.create(this, new Deallocator(address)); + this.cleanable = CleanerFactory.cleaner().register(this, new Deallocator(address)); } void release() { @@ -71,8 +73,8 @@ return size; } - Cleaner cleaner() { - return cleaner; + void free() { + cleanable.clean(); } // not synchronized; only safe for use by thread-local caches