src/java.base/share/classes/java/lang/ref/Finalizer.java
Print this page
@@ -27,11 +27,10 @@
import java.security.PrivilegedAction;
import java.security.AccessController;
import jdk.internal.misc.JavaLangAccess;
import jdk.internal.misc.SharedSecrets;
-import sun.misc.ManagedLocalsThread;
import sun.misc.VM;
final class Finalizer extends FinalReference<Object> { /* Package-private; must be in
same package as the Reference
class */
@@ -129,11 +128,11 @@
public Void run() {
ThreadGroup tg = Thread.currentThread().getThreadGroup();
for (ThreadGroup tgn = tg;
tgn != null;
tg = tgn, tgn = tg.getParent());
- Thread sft = new ManagedLocalsThread(tg, proc, "Secondary finalizer");
+ Thread sft = new Thread(tg, proc, "Secondary finalizer", 0, false);
sft.start();
try {
sft.join();
} catch (InterruptedException x) {
Thread.currentThread().interrupt();
@@ -188,14 +187,14 @@
}
f.runFinalizer(jla);
}}});
}
- private static class FinalizerThread extends ManagedLocalsThread {
+ private static class FinalizerThread extends Thread {
private volatile boolean running;
FinalizerThread(ThreadGroup g) {
- super(g, "Finalizer");
+ super(g, null, "Finalizer", 0, false);
}
public void run() {
// in case of recursive call to run()
if (running)
return;