src/java.base/share/classes/java/lang/ref/Reference.java
Print this page
*** 27,37 ****
import sun.misc.Cleaner;
import jdk.internal.HotSpotIntrinsicCandidate;
import jdk.internal.misc.JavaLangRefAccess;
import jdk.internal.misc.SharedSecrets;
- import sun.misc.ManagedLocalsThread;
/**
* Abstract base class for reference objects. This class defines the
* operations common to all reference objects. Because reference objects are
* implemented in close cooperation with the garbage collector, this class may
--- 27,36 ----
*** 126,136 ****
*/
private static Reference<Object> pending = null;
/* High-priority thread to enqueue pending References
*/
! private static class ReferenceHandler extends ManagedLocalsThread {
private static void ensureClassInitialized(Class<?> clazz) {
try {
Class.forName(clazz.getName(), true, clazz.getClassLoader());
} catch (ClassNotFoundException e) {
--- 125,135 ----
*/
private static Reference<Object> pending = null;
/* High-priority thread to enqueue pending References
*/
! private static class ReferenceHandler extends Thread {
private static void ensureClassInitialized(Class<?> clazz) {
try {
Class.forName(clazz.getName(), true, clazz.getClassLoader());
} catch (ClassNotFoundException e) {
*** 145,155 ****
ensureClassInitialized(InterruptedException.class);
ensureClassInitialized(Cleaner.class);
}
ReferenceHandler(ThreadGroup g, String name) {
! super(g, name);
}
public void run() {
while (true) {
tryHandlePending(true);
--- 144,154 ----
ensureClassInitialized(InterruptedException.class);
ensureClassInitialized(Cleaner.class);
}
ReferenceHandler(ThreadGroup g, String name) {
! super(g, null, name, 0, false);
}
public void run() {
while (true) {
tryHandlePending(true);