< prev index next >

src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template

Print this page

        

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