jdk/src/java.base/share/classes/sun/nio/fs/NativeBuffer.java
changeset 36435 0408881ad616
parent 35641 da165fd9c886
child 36438 e13192ef7946
--- 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