< 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.dbbCleaner().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.dbbCleaner().register(this, unmapper);
att = null;
#else[rw]
super(cap, addr, fd, unmapper);
#end[rw]
}
< prev index next >