--- a/jdk/src/java.base/share/classes/sun/nio/fs/NativeBuffer.java Wed Mar 09 13:37:30 2016 +0000
+++ b/jdk/src/java.base/share/classes/sun/nio/fs/NativeBuffer.java Wed Mar 09 21:17:06 2016 +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