Skip to content

Commit 6771c14

Browse files
[GR-67752] Small cleanups for "Cleaner"-related code.
PullRequest: graal/21610
2 parents 2af4eec + e185a78 commit 6771c14

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/heap/ReferenceHandler.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
import com.oracle.svm.core.stack.StackOverflowCheck;
3434
import com.oracle.svm.core.util.VMError;
3535

36+
import jdk.internal.ref.CleanerFactory;
37+
3638
public final class ReferenceHandler {
3739
public static boolean useDedicatedThread() {
3840
int automaticReferenceHandling = IsolateArgumentParser.getOptionIndex(SubstrateOptions.ConcealedOptions.AutomaticReferenceHandling);
@@ -68,7 +70,7 @@ static void processCleaners() {
6870
// Note: (sun.misc|jdk.internal).Cleaner objects are invoked in pending reference processing
6971

7072
// Process the JDK's common cleaner, additional cleaners start their own threads
71-
Target_java_lang_ref_Cleaner commonCleaner = Target_jdk_internal_ref_CleanerFactory.cleaner();
73+
Target_java_lang_ref_Cleaner commonCleaner = SubstrateUtil.cast(CleanerFactory.cleaner(), Target_java_lang_ref_Cleaner.class);
7274
Reference<?> ref = commonCleaner.impl.queue.poll();
7375
while (ref != null) {
7476
try {

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/heap/Target_java_lang_ref_Cleaner.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,7 @@
4444
@TargetClass(className = "java.lang.ref.Cleaner")
4545
public final class Target_java_lang_ref_Cleaner {
4646
@Alias//
47-
public Target_jdk_internal_ref_CleanerImpl impl;
48-
}
49-
50-
@TargetClass(className = "jdk.internal.ref.CleanerFactory")
51-
final class Target_jdk_internal_ref_CleanerFactory {
52-
@Alias
53-
public static native Target_java_lang_ref_Cleaner cleaner();
47+
Target_jdk_internal_ref_CleanerImpl impl;
5448
}
5549

5650
@TargetClass(className = "java.lang.ref.Cleaner$Cleanable")

0 commit comments

Comments
 (0)