File tree Expand file tree Collapse file tree 2 files changed +4
-8
lines changed
substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/heap Expand file tree Collapse file tree 2 files changed +4
-8
lines changed Original file line number Diff line number Diff line change 3333import com .oracle .svm .core .stack .StackOverflowCheck ;
3434import com .oracle .svm .core .util .VMError ;
3535
36+ import jdk .internal .ref .CleanerFactory ;
37+
3638public 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 {
Original file line number Diff line number Diff line change 4444@ TargetClass (className = "java.lang.ref.Cleaner" )
4545public 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" )
You can’t perform that action at this time.
0 commit comments