< prev index next >
src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template
Print this page
@@ -28,11 +28,12 @@
package java.nio;
import java.io.FileDescriptor;
import jdk.internal.misc.Unsafe;
import jdk.internal.misc.VM;
-import jdk.internal.ref.Cleaner;
+import java.lang.ref.Cleaner;
+import jdk.internal.ref.CleanerFactory;
import sun.nio.ch.DirectBuffer;
class Direct$Type$Buffer$RW$$BO$
#if[rw]
@@ -96,17 +97,17 @@
Bits.unreserveMemory(size, capacity);
}
}
- private final Cleaner cleaner;
+ private final Cleaner.Cleanable cleaner;
- public Cleaner cleaner() { return cleaner; }
+ public Cleaner.Cleanable cleaner() { return cleaner; }
#else[byte]
- public Cleaner cleaner() { return null; }
+ public Cleaner.Cleanable cleaner() { return null; }
#end[byte]
#end[rw]
@@ -134,11 +135,11 @@
// Round up to page boundary
address = base + ps - (base & (ps - 1));
} else {
address = base;
}
- cleaner = Cleaner.create(this, new Deallocator(base, size, cap));
+ cleaner = CleanerFactory.cleaner().register(this, new Deallocator(base, size, cap));
att = null;
#else[rw]
super(cap);
#end[rw]
}
@@ -174,11 +175,13 @@
Runnable unmapper)
{
#if[rw]
super(-1, 0, cap, cap, fd);
address = addr;
- cleaner = Cleaner.create(this, unmapper);
+ cleaner = (unmapper == null)
+ ? null
+ : CleanerFactory.cleaner().register(this, unmapper);
att = null;
#else[rw]
super(cap, addr, fd, unmapper);
#end[rw]
}
< prev index next >