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);